此Python代码扫描子网的问题是什么?



此代码用于使用每个主机找到活着的主机。但是我面临一些问题。我的代码:

#!/usr/bin/python
import os 
global lis
lis = []
global cnt
cnt = 0 
print("Scanning the Subnet : ")
subnet_input = input("->> ")
subnet_input = subnet_input.split(".")
for x in range(98,105):
    subnet_input[3] = x
    str(subnet_input)
    new_sub = str(subnet_input[0])+'.'+str(subnet_input[1])+'.'+str(subnet_input[2])+'.'+str(subnet_input[3])
    res = os.system("ping -c 4 {}".format(new_sub))
    if res==0:
        cnt = cnt+1
        print("[*] {} is Alive".format(new_sub))
        str(new_sub)
        lis.append(new_sub)
print('--------------------------------------')
print("[*] ALL ALIVE HOSTS ARE {}".format(cnt))
print('--------------------------------------')
print(lis)

我收到以下错误:

Traceback (most recent call last):
File "Ping.py", line 8, in <module>
subnet_input = input("->> ")
File "<string>", line 1
192.168.1.0
        ^

使用python 2,用户发送到input()的内容通过eval(),因此错误。

您可以改用raw_input(),也可以切换到python 3

相关内容

最新更新