我的服务器已经运行了大约半年了,但奇怪的事情发生了(几个小时前)。
该服务器有两个 IP 地址 58.17.85.19 和 117.21.178.19
当我导航到 时http://58.17.85.19
,与以前没有什么不同。
但http://117.21.178.19
会返回“302 对象已移动”,并成为“重定向循环”
我做了一些测试:
($cmd = "wget http://117.21.178.19/?xx=$RANDOM --max-redirect 0 -S --no-cache -O -")
一步步:
- 在我的电脑和我朋友的电脑上运行 $cmd(我们住在中国两边,很远)。->得到 302
- 在此服务器上运行 $cmd -> 得到 200 OK(内容是 index.php 的正确结果)
- 在同一机房的另一台服务器上运行 $cmd -> 得到 200 OK
- 从我的电脑上远程登录并建立一个 HTTP 请求(手动输入)->得到 200 OK
- 关闭 php-fpm,在我的电脑上运行 $cmd ->得到 302
- 在服务器上运行 $cmd -> 502 Bad Gateway
- 关闭 nginx,在服务器和我的电脑上运行 $cmd ->连接被拒绝。
- 创建iptables规则,拒绝任何到58.17.85.19:80的连接。
- 跑步数控-L 80-K-VVV在服务器上并在我的电脑上运行 $cmd
NC 给我看一下……
服务器接受连接(来自 [我的 IP] 的连接)
我的连接已关闭!(从列表中删除 fd xx)
wget 转储响应 ->得到 302
我知道,通常情况下,NC 会接受连接,然后转储来自客户端的 HTTP 请求,客户端会等待响应。这个连接会永远打开(事实上客户端会因为超时而关闭连接),因为 NC 无法给出任何响应。
所以...
我的请求去哪儿了?
谁向客户发送回复?
我的服务器系统上出现了什么病毒?
如果是这样,为什么 58.17.85.19 没有这个错误?或者......
我被中间人攻击了?
更新:
在端口 8888 启动 nginx
跑步tcpdump -vvv -i p2p1 tcp dst 端口 8888在服务器上
客户端上的 wget 端口 8888
输出:
16:17:48.622315 IP (tos 0x0, ttl 52, id 13579, offset 0, flags [DF], proto TCP (6), length 60)
123.150.23.137.34439 > moeapk.com.ddi-tcp-1: Flags [S], cksum 0x480b (correct), seq 2846877521, win 14600, options [mss 1440,sackOK,TS val 1954394 ecr 0,nop,wscale 7], length 0
16:17:48.694546 IP (tos 0x0, ttl 52, id 13580, offset 0, flags [DF], proto TCP (6), length 52)
123.150.23.137.34439 > moeapk.com.ddi-tcp-1: Flags [.], cksum 0x26df (correct), seq 2846877522, ack 2873157145, win 115, options [nop,nop,TS val 1954466 ecr 258074469], length 0
16:17:48.697790 IP (tos 0x0, ttl 52, id 13581, offset 0, flags [DF], proto TCP (6), length 234)
123.150.23.137.34439 > moeapk.com.ddi-tcp-1: Flags [P.], cksum 0x782d (correct), seq 0:182, ack 1, win 115, options [nop,nop,TS val 1954466 ecr 258074469], length 182
16:17:48.837835 IP (tos 0x0, ttl 52, id 13582, offset 0, flags [DF], proto TCP (6), length 52)
123.150.23.137.34439 > moeapk.com.ddi-tcp-1: Flags [.], cksum 0x1f70 (correct), seq 182, ack 1429, win 137, options [nop,nop,TS val 1954613 ecr 258074593], length 0
***repeat 17 times like previous two line***
123.150.23.137.34439 > moeapk.com.ddi-tcp-1: Flags [F.], cksum 0xaac6 (correct), seq 182, ack 30617, win 331, options [nop,nop,TS val 1954935 ecr 258074753], length 0
16:17:49.291838 IP (tos 0x0, ttl 52, id 13601, offset 0, flags [DF], proto TCP (6), length 52)
123.150.23.137.34439 > moeapk.com.ddi-tcp-1: Flags [.], cksum 0xa944 (correct), seq 183, ack 30618, win 331, options [nop,nop,TS val 1955065 ecr 258075008], length 0
跑步tcpdump -vvv -i p2p1 tcp dst 端口 80 和 dst 主机 117.21.178.19在服务器上
在客户端上运行 $cmd
16:16:33.358800 IP (tos 0x0, ttl 52, id 5901, offset 0, flags [DF], proto TCP (6), length 60)
123.150.23.137.39184 > moeapk.com.http: Flags [S], cksum 0x7b22 (correct), seq 3631397718, win 14600, options [mss 1440,sackOK,TS val 1879131 ecr 0,nop,wscale 7], length 0
16:16:33.417812 IP (tos 0x0, ttl 52, id 5902, offset 0, flags [DF], proto TCP (6), length 52)
123.150.23.137.39184 > moeapk.com.http: Flags [.], cksum 0x2556 (correct), seq 3631397719, ack 4273073493, win 115, options [nop,nop,TS val 1879190 ecr 257999206], length 0
16:16:33.421014 IP (tos 0x0, ttl 127, id 54824, offset 0, flags [DF], proto TCP (6), length 40)
123.150.23.137.39184 > moeapk.com.http: Flags [R], cksum 0x886d (correct), seq 3631397719, win 16384, length 0
***no more output. client got 302***