我想用python做一个非常简单的网络扫描器,我写了这个:
import subprocess
ip_range = input("Enter ip range:")
start_ip = input("Enter start ip:")
end_ip = input("Enter end ip:")
result = "Result:"
for ping in range(int(start_ip), int(end_ip)):
ip = ip_range + str(ping)
connect = subprocess.call(["ping", "-c1",ip])
if connect == 0:
result += "---"
result += "Ping to ",ip,"was OK"
result += "---"
else:
result + "Couldn't ping to " + str(ip)
result + "---"
pass
print(result)除了一件事之外,所有这些都能正常工作。在这一部分
result + "Couldn't ping to " + str(ip)
result + "---"结果不等于这段代码,我的意思是它只是写出结果。
发布于 2020-04-09 22:28:23
result + "Couldn't ping to " + str(ip)是一个表达式,而不是一个语句。您不会将该值赋给result。尝试将+更改为+=。它将在result中存储值result + "Couldn't ping to " + str(ip)。
https://stackoverflow.com/questions/61123425
复制相似问题