我有以下scapy scipt
a=IP(dst="192.168.10.71")/TCP(sport=13998, dport=14010, flags="S", window=1400)
sr1(a)
a=IP(dst="192.168.10.71")/TCP(sport=13998, dport=14010, flags="A", window=1400)
sr1(a)
第一个数据包被发送到目标tcp服务器
然后我从TCP服务器收到了SYN + ACK:
然后看看我的系统的TCP堆栈发送一个RST TCP数据包,因为我的脚本发送第二个TCP数据包(ACK),如上面的脚本所示
如何避免我的系统的TCP堆栈在从服务器收到SYN + ACK后发送RST TCP数据包?并发送代替它的第二个TCP数据包,如脚本中所示?
顺便说一句,我的TCP服务器是:
<?php
$socket = stream_socket_server("tcp://0.0.0.0:14010", $errno, $errstr);
if (!$socket) {
echo "$errstr ($errno)<br />\n";
} else {
echo "SERVER TCP (port 14010) started!";
while ($conn = stream_socket_accept($socket)) {
fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
fclose($conn);
}
fclose($socket);
}
?>
答案 0 :(得分:1)