如何在python中循环用户输入的IP地址

时间:2015-10-13 15:45:40

标签: python unix scripting ip range

抱歉,我是python的新手,所以我想查询一下。假设用户输入他的IP(192.168.1.10),我想从他的输入(192.168.1.10)开始循环到子网192.168.1.255/24的末尾。

我正在思考这条线上的事情

for i in range(256):
    IP = "192.168.1.%d" (i)
    print IP

但我怎么把他的输入放进去?任何指导都会有所帮助,谢谢。

干杯, Tech Newbie。

3 个答案:

答案 0 :(得分:1)

这对你有用,虽然我还没有测试过。

ip=raw_input("Enter an ip address:")
partToFetch= int(ip.split(".")[3])
for i in range(partToFetch,256):
    print "192.168.1.{0}".format(str(i))

答案 1 :(得分:0)

假设您使用类似

的初始IP地址
dplyr

你可以重做你的循环

tidyr

答案 2 :(得分:0)

使用Python 3.3中的ipaddress模块。您可以使用index into a subnet as a list地址:

>>> import ipaddress
>>> subnet = ipaddress.ip_network('192.168.1.0/24')
>>> for i in range(10, 256):
>>>     print(subnet[i])
192.168.1.10
192.168.1.11
...
192.168.1.254
192.168.1.255