eth1 인터페이스에서 목적지 8080으로 향하는 패킷
sudo /sbin/tcpdump -i eth1 dst port 8000
패킷을 ASCII 문자열로 보여주기
sudo /sbin/tcpdump -i eth1 dst port 8000 -X
HTTP 헤더 로깅
# <https://serverfault.com/questions/504431/human-readable-format-for-http-headers-with-tcpdump>
sudo stdbuf -oL \
/sbin/tcpdump -A -s 10240 "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/.*?(GET |HTTP\/[0-9.]* |POST )/\n$1/g; print } ' \
| awk '/^$/ { print "\n" "\033[1;30m" "=========================================================" "\033[m" "\n" }
/^(GET) .+$/ { print "\033[33m" $0 "\033[m" }
/^(POST) .+$/ { print "\033[35m" $0 "\033[m" }
/^(HTTP)\/.+$/ { print "\033[32m" $0 "\033[m" }
match($0, /^(.+?): (.+)$/, header) { print "\033[1;34m" header[1] ": " "\033[37m" header[2] "\033[m" }
