使用Netfilter队列并scapy更改TCP负载,测试客户端向测试服务器发送消息:
测试服务器中的iptables规则: iptables-A输出-p TCP-d[test client ip]-jnfqueue--queue num 1
在更改TCP有效负载后,如果更改后的长度相同,并且只替换字符串,则所有行为都正确。在
但如果长度不同,则程序异常:
如果有效载荷长度较短: 客户端可以接收修改后的负载,但套接字不能正常关闭,客户端向服务器发送RST连接
如果有效载荷长度较长: 客户端也可以接收修改后的有效负载,但服务器多次重复发送数据包,套接字无法正常关闭,服务器套接字“正在关闭”,客户端套接字为“FIN_WAIT1”或“TIME_WAIT” 系统队列最终为14,正常为6:
cat/proc/net/netfilter/nfnetlink_队列
1 7888 0 2 4016 0 0 14 1
从tcpdump显示,有许多“tcp重传”
谁来帮帮我?谢谢,下面是测试代码:
^{pr2}$
长度改变了,所以seq,ack num都不一样,导致了关闭socket时出现异常,我还不知道该怎么解决这个问题,但它不影响有效负载的传输
相关问题 更多 >
编程相关推荐