如何在python端口扫描程序脚本中添加for循环?

时间:2017-10-23 14:08:47

标签: python linux

我已经在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'))

2 个答案:

答案 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