我正在尝试使用“dpkt”包装器库在Python 2.7中编写一个小脚本来解析示例PCAP文件。
我确实为NULL扫描成功编写了特定的检查,例如seq = 0且标志未设置,但是如何进行半开扫描尝试?
我尝试做类似的事情:
if SYN and RST flags are set
print "Half-open" scan detected
但是上面的逻辑并没有从具有半开连接的示例PCAP文件中获取连接。
我还需要做其他检查吗?
答案 0 :(得分:0)
常规TCP握手与典型的半开放式#34;之间的区别。 TCP连接工作流程(通常用于监视和负载平衡)是这样的:
Normal
------
Client ---SYN---> Server
Client <-SYN,ACK- Server
Client ---ACK---> Server
Half-Open
---------
Client ---SYN---> Server
Client <-SYN,ACK- Server
Client ---RST---> Server
所以你看到它只是最后一个与客户端到服务器的数据包不同。您不会找到识别半开的单个数据包。您需要寻找一个流程/序列/对话(无论您想要什么称呼它),看起来像我描述的半开放,通常很快发生(理想情况下,如果一切都在工作,几毫秒内)正确地)。