我正在僞造一個數據包以啓動一個帶有端口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:我的猜測是數據包被丟棄,因爲如果您剛剛更改了端口,則校驗和不再匹配。 –