태그 보관물: tcpdump

tcpdump

tcpdump를 사용하여 HTTP 트래픽 모니터링 아닌 데이터가 포함 된 패킷 만 인쇄합니다.

서버와 웹 서버 간의 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>

강조 표시된 부분을 제외하고는 거의 완벽합니다. 이것이 무엇입니까? 더 중요한 것은 제거하는 방법은 무엇입니까? 어쩌면 명령이 끝날 때 표현이 약간 조정 되었을까요?



답변

tcpdump는 완전한 패킷을 인쇄합니다. “쓰레기”는 실제로 TCP 패키지 헤더입니다.

당신은 확실히 출력을 펄 스크립트로 마사지 할 수 있지만, 대신 wireshark의 텍스트 버전 인 tshark를 사용하지 않는 이유는 무엇입니까?


tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

tcpdump (동일 라이브러리)와 동일한 인수를 취하지 만 분석기이기 때문에 심층 패킷 검사를 수행하여 필터를 더욱 세분화 할 수 있습니다.


tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
-R'http.request.method == "GET" || http.request.method == "HEAD"'


답변

ngrep을 살펴보십시오 -그것은 당신을 위해 약간 유용 할 것입니다.

다른 사람에 대한 참조로 httpry [이제 서버가 다운 될 것으로 보인다하지만 난이 일시적으로 희망]와 tshark를 또한 수동적 인 프로토콜 분석에 유용합니다 – 단지 HTTP의 첫 번째를, 두 번째 – 더 이상.


답변

httpry 또는 justniffer 시도

Justniffer는 재전송 및 IP 조각화를 재정렬하는 TCP 패킷에서 잘 작동합니다.


답변

포스트 프로세스를 위해 pcap 파일에 모든 것을 저장하는 멍청한 tcpdump 명령 줄을 사용하는 것이 좋습니다. 정확히 무엇을보고 있는지에 따라 tcpflow를 진단하면 통신을 일관된 방식으로 다시 분석 할 수 있습니다.

httpry의 일부 사용법을 포함한 다른 좋은 정보는 http://taosecurity.blogspot.com/2008/06/logging-web-traffic-with-httpry.html 에서 확인할 수 있습니다.


답변

사용중인 웹 서버가 로그를 생성하지 않습니까? HTTP 트래픽을 모니터링하는 훨씬 좋은 방법 일 것입니다. 데이터를 분석 할 수있는 다양한 도구가 있으며 유능한 웹 서버는 안정적인 로그를 생성해야합니다.