누가 HTTP 요청을 했는지 찾을 수 있나요?

누가 HTTP 요청을 했는지 찾을 수 있나요?

내 서버가 며칠 전에 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

관련 정보