2016-10-03 161 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