0

我正在尝试使用“dpkt”包装库在 Python 2.7 中编写一个小脚本来解析示例 PCAP 文件。

我确实为 NULL 扫描成功编写了特定检查,例如如果 seq = 0 并且未设置标志,但是对于半开扫描尝试,我该如何做呢?

我试图做类似的事情: if SYN and RST flags are set print "Half-open" scan detected

但是上面的逻辑没有从示例 PCAP 文件中获取半开连接的连接。

我需要做任何额外的检查吗?

4

1 回答 1

0

常规 TCP 握手和典型的“半开” TCP 连接工作流程(通常用于监控和负载平衡)之间的区别是:

Normal
------
Client ---SYN---> Server
Client <-SYN,ACK- Server
Client ---ACK---> Server

Half-Open
---------
Client ---SYN---> Server
Client <-SYN,ACK- Server
Client ---RST---> Server

所以你看到它只是最后一个客户端到服务器数据包不同。您不会找到识别半开的单个数据包。您需要寻找看起来像我描述的半开放式的流程/序列/对话(无论您想怎么称呼它),并且通常会很快发生(如果一切正常,最好在几毫秒内)。

于 2016-11-23T17:05:11.057 回答