Tshark для мониторинга запросов http |
[исправить] |
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"
|
|
|
|
Раздел: Корень / Администратору / Система / Просмотр состояния и мониторинг системы |