nmap - 反复扫描端口以获取syn / ack回复并输出到文件

时间:2014-03-04 13:48:28

标签: http tcp nmap port-scanning

我需要每秒钟点击一次http服务器,每秒钟反复一次ack回复不同的时间长度,并将回复输出到文本文件中,其中包含响应时间(以ms为单位)等信息。这基本上是为了检查延迟,但出于我的目的,我需要使用syn / syn-ack来做。

我已经到了

的某个地方
nmap -sS 1.1.1.1 -p 80 -o test.txt -v

这会在屏幕上输出,但不会输出到文本文件中 - 如何获得nmap运行到文件中的所有输出?

另外,不知道如何每秒运行一次 - nmap是否有重复的标志?或者我只是把它放在一个bash脚本中?

1 个答案:

答案 0 :(得分:1)

此命令可能比您想要的更多。每次运行它时,Nmap都会执行以下操作:

  1. 您的目标的反向DNS(PTR)查找
  2. 发送主机发现探针以确保目标“已启动”。如果您是root用户,则这是一组4个ICMP和TCP探测器。如果没有,则是2次TCP连接呼叫。
  3. 向端口80发送TCP SYN探测。如果以root身份运行,则序列为SYN,SYN / ACK,RST。否则它是SYN,SYN / ACK,ACK,RST / ACK。
  4. 相反,您可以使用一些有用的标志来减少这种开销,并根据您的要求更具体。

    nmap -n -sn -PS80 1.1.1.1
    

    此命令将跳过反向DNS查找(-n)并使用主机发现阶段查找延迟。 -sn跳过端口扫描,-PS80表示使用TCP SYN到端口80进行主机发现。 TCP握手是否完成取决于您是否具有root权限。

    nmap -n -Pn -p 80 1.1.1.1
    

    此命令将发送与前一个完全相同的探测器,但会将输出显示为端口扫描,而不仅仅是主机发现扫描。

    要重复扫描,您必须将其置于shell循环中。为此使用专用工具会更好,但我不知道哪一个最好。 Nmap附带了一个名为Nping的工具,它可以发送重复的探测并报告往返时间,但我不能让它显示每个数据包;它只是在最后给出一个总结。你可能会有更好的运气hping