我已经在linux平台上编写了python端口扫描程序..只是想知道如何添加for循环来检查目标ip的0 - 65535端口?请建议
import os
def get_nmap(options,ip):
command = "nmap" + options + "" + ip
process = os.popen(command)
result = str(process.read())
return result
print(get_nmap('-F','target ip'))
答案 0 :(得分:1)
选项1:nmap开关
您只能使用nmap
选项来完成此操作。
来自nmap(1)man页面:
PORT SPECIFICATION AND SCAN ORDER:
-p <port ranges>: Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
选项2:python循环
您应该重新实现您的方法以接受端口:
def get_nmap(options,ip,port):
command = "nmap" + "-p" + str(port) + " " + options + "" + ip
process = os.popen(command)
result = str(process.read())
return result
然后循环调用它:
for port in range(0, 65535):
print(get_nmap('', ip, port))
注意:-F
不适用于特定的端口范围,因为它定义了:
-F:快速模式 - 扫描比默认扫描更少的端口
答案 1 :(得分:-1)
使用for循环,并确保在命令部件的正确位置有空格。
timeout