Tshark из комплекта сниффера Wireshark (http://www.wireshark.org/) позволяет
наглядно проследить запросы к http-серверу.
Пример для интерфейса eth0:
tshark -npi eth0 -f ‘tcp and dst port 80’ -R «http.request.method» -T fields -e ip.src -e ip.dst \
-e http.request.method -e http.host -e http.request.uri
За одним можно автоматически найти имя интерфейса в Linux и удалить временные
файлы, которые программа обычно забывает удалять.
Для Linux:
tshark -npi `netstat -rn | grep «^0.0.0.0» | awk ‘{ print $8 }’` \
-f ‘tcp and dst port 80’ -R «http.request.method» -T fields -e ip.src \
-e ip.dst -e http.request.method -e http.host -e http.request.uri
rm -f /tmp/ether*
Для FreeBSD:
tshark -npi `netstat -rn | grep «default» | awk ‘{ print $6 }’` \
-f ‘tcp and dst port 80’ -R «http.request.method» -T fields -e ip.src \
-e ip.dst -e http.request.method -e http.host -e http.request.uri
rm -f /tmp/ether*
Для уменьшения нагрузки можно ограничить выборку пакетами небольшой длины,
добавив «and less 600», например, «tcp and dst port 80 and less 600».
Другие варианты:
1. утилита urlsnarf из состава пакета dsniff.
Также можно отметить и другие похожие утилиты из данного пакета: filesnarf,
mailsnarf, msgsnarf, webspy, позволяющие перехватывать почтовые сообщения,
передаваемые файлы и т.п.
urlsnarf -i eth0
urlsnarf -i eth1 -n .\* tcp port 80 and less 600
2. justniffer (http://justniffer.sourceforge.net/) — выводит перехваченные
HTTP-пакеты в формате стандартного лога Apache:
justniffer -i eth0
Позволяет оценивать время выполнения запроса:
justniffer -i eth0 -a » %response.time»
Выводить полный дамп HTTP-заголовков:
justniffer -i eth0 -r
Самостоятельно определять формат вывода:
justniffer -i eth0 -l » %request.timestamp %source.ip %dest.ip %request.header.host %request.url»
Источник : mail.lasoon.com.ua/tips/2301_tshark_sniffer_tcpdump_mnitoring_http.shtml?skip=40