我正在伪造一个数据包以启动一个带有端口80的TCP连接(所以我发送一个TCP-SYN)并且HTTP服务器根本没有响应。Apache HTTP服务器端口不响应
我已经在所有进程和80端口状态无变化跑netstat -natu
:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.7:41562 151.101.61.140:443 ESTABLISHED
tcp 0 0 192.168.1.7:45660 216.58.214.161:80 ESTABLISHED
tcp 0 0 192.168.1.7:50852 151.101.193.69:80 TIME_WAIT
tcp 0 0 192.168.1.7:36450 64.233.184.95:443 ESTABLISHED
tcp 1 0 192.168.1.7:46960 162.213.33.49:443 CLOSE_WAIT
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 1 0 ::1:35050 ::1:631 CLOSE_WAIT
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:49933 0.0.0.0:*
udp 0 0 0.0.0.0:5287 0.0.0.0:*
端口总是在LISTEN
状态,并在接收到TCP-SYN它应更改为SYN_RECV
权?
如果有帮助,该数据包的捕获Wireshark的我送:
所以,我似乎无法看到的问题是什么。
除非您控制了您与目标服务器之间的网络,否则您无法伪造TCP连接。如果你的伪造的IP在你的网络“外部”,那么服务器将把它的ACK数据包发送回该IP,而不是你伪造IP的地方。 –
是的,这就是为什么我做到了localhost。而且,数据包并不是真的伪造的,它更像是破损的,因为它的目标端口是55555,但是我通过拦截它将其更改为80,并且它是由浏览器发送的。 – amportugal
@amportugal:我的猜测是数据包被丢弃,因为如果您刚刚更改了端口,则校验和不再匹配。 –