2016-10-03 201 views
0

我正在僞造一個數據包以啓動一個帶有端口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的我送:

Forged TCP-SYN

所以,我似乎無法看到的問題是什麼。

+0

除非您控制了您與目標服務器之間的網絡,否則您無法僞造TCP連接。如果你的僞造的IP在你的網絡「外部」,那麼服務器將把它的ACK數據包發送回該IP,而不是你僞造IP的地方。 –

+0

是的,這就是爲什麼我做到了localhost。而且,數據包並不是真的僞造的,它更像是破損的,因爲它的目標端口是55555,但是我通過攔截它將其更改爲80,並且它是由瀏覽器發送的。 – amportugal

+1

@amportugal:我的猜測是數據包被丟棄,因爲如果您剛剛更改了端口,則校驗和不再匹配。 –

回答

0

您是否注意到您正在使用tcp6(意味着IPv6),但試圖使用IPv4打開會話?

我想這就是爲什麼它沒有打開會話。嘗試對齊到IPv4。

+0

這是沒有問題的,apache2會監聽所有可用的地址族。無論如何,只要可以肯定,我已經嘗試過使用nmap,它支持IPv4連接。 – amportugal

+0

您是否嘗試過使用其他端口?也許有東西阻塞端口80. –

+0

是的,我嘗試使用端口55555. – amportugal