.

TCPDUMP로 웹 서비스 패킷을 이쁘게 찍어보자

by 담배맛구마

TCPDUMP를 사용해야되는 시점은 결국 뭔가 안 되니까. 네트워크 이슈 등을 점검하기 위해 쓰는 것 같다.

특히나 웹 서비스를 많이 쓰고 있으니, TCPDUMP로 웹 서비스에 대한 패킷을 찍어보자.

 

일단 기본적으로 TCPDUMP로 웹 서비스만 파싱하는 코드이다. 물론 HTTP Body는 생략한다.

stdbuf -oL -eL /usr/sbin/tcpdump -A -s 10240 -nn "tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)"

여기다가 이것 저것 붙이고 색깔도 넣어보자

stdbuf -oL -eL /usr/sbin/tcpdump -A -s 10240 -nn "(tcp port 80) and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)" | egrep -a --line-buffered ".+(GET |HTTP\/|POST )|^[A-Za-z0-9-]+: " | perl -nle 'BEGIN{$|=1} { s/^(\d{2}:\d{2}:\d{2}.\d+) IP (\d+.\d+.\d+.\d+).(\d+) > (\d+.\d+.\d+.\d+).(\d+):.+/\n[\e[1;31m$1\e[0m] \e[1;32m$2:$3 -> $4:$5\e[0m/g; s/^.+?(GET |POST |HTTP\/[0-9.]*)/$1/g; print }'
블로그의 프로필 사진

블로그의 정보

정윤상이다.

담배맛구마

활동하기