我一直在使用scapy,最近集成在python中并遇到错误; 正常的SYN数据包会激发路由器在端口80上发送SA数据包,它会这样做:
p = sr(IP(dst="192.168.2.254")/TCP(dport=80, flags="S"))
ans, unans = _
ans.summary()
IP / TCP 192.168.2.24:ftp_data> 192.168.2.254:www S ==> IP / TCP 192.168.2.254:www> 192.168.2.24:ftp_data SA
然而,当我在端口80上向路由器发送SYN / ACK数据包时,它不会向我发送RST数据包, 而我的Wifi Extender确实:
IP / TCP 192.168.2.24:ftp_data> 192.168.2.1(WIFI EXTENDER):www SA ==> IP / TCP 192.168.2.1:www> 192.168.2.24:ftp_data R
对此行为的任何解释?
提前致谢
答案 0 :(得分:2)
您正在与两个不同的TCP堆栈进行交互,或至少使用不同的配置。路由器只是丢弃无效的SYN / ACK段而不报告错误。
这是相当常见的做法:使用RST进行响应有助于调试,但是无声地丢弃无效流量可能更安全。