有人提到我的服务器几天前进行了 HTTP 下载,这可能是病毒。我有请求的源IP/端口、目标IP/端口、协议、时间、长度和方法。
也许我的服务器被黑客攻击了,但我想找到哪个用户和哪个程序发出了 HTTP 请求。是否可以? Linux 是否记录所有传出的 HTTP 请求?如果没有的话,我可以通过上面的信息找到吗?
答案1
如果您使用httpd服务器,那么您有http日志,它可能会帮助您处理您的请求(有额外的模组对于 Apache mod_dumpio 可能会提供更好的反馈),我建议您按需运行此命令以更好地了解服务器上当前正在请求的 http
# tcpdump filter for HTTP GET
sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
# tcpdump filter for HTTP POST
sudo tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
# tcpdump for specific client
tcpdump -vvvnn port 80 and host ip_addr_of_client -i any