서버와 웹 서버 간의 HTTP 트래픽을 모니터링하기 위해 현재을 사용하고 tcpdump
있습니다. 이것은 잘 작동하지만 출력에서 불필요한 데이터를 제거하고 싶습니다 ( tcpflow
및 알고 wireshark
있지만 내 환경에서 쉽게 사용할 수는 없습니다).
로부터 tcpdump
매뉴얼 페이지
포트 80과의 모든 IPv4 HTTP 패킷을 인쇄하려면, 예를 들어 SYN 및 FIN 패킷 및 ACK 전용 패킷이 아닌 데이터가 포함 된 패킷 만 인쇄합니다.
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
이 명령
sudo tcpdump -A 'src example.com 및 tcp 포트 80 및 (((ip [2 : 2]-((ip [0] & 0xf) << 2))-((tcp [12] & 0xf0) >> 2) )! = 0) '
다음과 같은 출력을 제공합니다.
19 : 44 : 03.529413 IP 192.0.32.10.http> 10.0.1.6.52369 : 플래그 [P.], seq 918827135 : 918827862, ack 351213824, win 4316, 옵션 [nop, nop, TS val 4093273405 ecr 869959372], 길이 727
E ..... @ ....... .... P..6.0 ......... D ...... __ .. e = 3 ...__ HTTP / 1.1 200 OK Server : Apache / 2.2.3 (Red Hat) 컨텐츠 유형 : text / html; charset = UTF-8 날짜 : 2009 년 11 월 14 일 토요일 18:35:22 GMT 나이 : 7149
콘텐츠 길이 : 438<HTML> <HEAD> <TITLE> 웹 페이지 예 </ TITLE> </ HEAD> <body>
<p>이 웹 페이지에 도달했습니다 ... </ p> </ BODY> </ HTML>
강조 표시된 부분을 제외하고는 거의 완벽합니다. 이것이 무엇입니까? 더 중요한 것은 제거하는 방법은 무엇입니까? 어쩌면 명령이 끝날 때 표현이 약간 조정 되었을까요?