Python ping 扫描脚本问题
Issue with Python ping sweep script
import subprocess
nrange = "192.168.229."
for i in range(0, 254):
address = nrange + str(i)
res = subprocess.call(['ping', '-c', '3', address])
if res == 0:
print "ping to", address, "OK"
elif res == 2:
print "no response from", address
else:
print "ping to", address, "failed!"
root@kali:~/Desktop# ./pypsweep.py
^C./pysweep.py: line 3: nrange: command not found
./pysweep.py: line 5: syntax error unexpected toke `('
./pysweep.py: line 5: `for i in range (0, 254):'
root@kali:~/Desktop#
我在上面的代码中遇到了问题。我正在尝试编写一个从 Python 到 bash 中的 运行 的 ping 扫描脚本。我已经尝试了其他人在互联网上发布的几个示例,但似乎对我来说没有用。这段代码是我根据我能找到的最简单的示例编写的。我不确定我是否只是忽略了一个明显的错误或者可能是什么问题。非常感谢对此问题的任何帮助。
Kali Linux 发行版上的 VMware Workstation Pro 运行 如果这很重要的话。
您的代码没有 shebang 行。因此,当此命令为 运行:
root@kali:~/Desktop# ./pypsweep.py
shell 尝试将 ./pypsweep.py 解释为默认类型:shell 脚本。这就是为什么您看到错误的原因。
有两种解决方法。
明确调用python:
root@kali:~/Desktop# python ./pypsweep.py
将此行添加到脚本的开头:
#!/usr/bin/python
如果你python不在/usr/bin,适当调整路径。
import subprocess
nrange = "192.168.229."
for i in range(0, 254):
address = nrange + str(i)
res = subprocess.call(['ping', '-c', '3', address])
if res == 0:
print "ping to", address, "OK"
elif res == 2:
print "no response from", address
else:
print "ping to", address, "failed!"
root@kali:~/Desktop# ./pypsweep.py
^C./pysweep.py: line 3: nrange: command not found
./pysweep.py: line 5: syntax error unexpected toke `('
./pysweep.py: line 5: `for i in range (0, 254):'
root@kali:~/Desktop#
我在上面的代码中遇到了问题。我正在尝试编写一个从 Python 到 bash 中的 运行 的 ping 扫描脚本。我已经尝试了其他人在互联网上发布的几个示例,但似乎对我来说没有用。这段代码是我根据我能找到的最简单的示例编写的。我不确定我是否只是忽略了一个明显的错误或者可能是什么问题。非常感谢对此问题的任何帮助。
Kali Linux 发行版上的 VMware Workstation Pro 运行 如果这很重要的话。
您的代码没有 shebang 行。因此,当此命令为 运行:
root@kali:~/Desktop# ./pypsweep.py
shell 尝试将 ./pypsweep.py 解释为默认类型:shell 脚本。这就是为什么您看到错误的原因。
有两种解决方法。
明确调用python:
root@kali:~/Desktop# python ./pypsweep.py
将此行添加到脚本的开头:
#!/usr/bin/python
如果你python不在/usr/bin,适当调整路径。