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"
|
|
|
|
Раздел: Корень / Администратору / Система / Просмотр состояния и мониторинг системы |
|
2.3, Аноним (-), 20:39, 24/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
А на виртуально интерфейсе urlsnarf пробовали запускать?
И как? Информативненько?
| |
|
1.2, Ъ (?), 06:58, 24/02/2010 [ответить]
| +/– |
Ну а мне больше в графическом режимe удобнее:
ssh user@host 'sudo tshark -f "port !22" -w -' | sudo wireshark -k -i -
| |
|
2.6, Felixz (ok), 13:37, 02/03/2010 [^] [^^] [^^^] [ответить]
| +/– |
А в чём великая сермяжная правда, если не секрет?
Чем это отличается от sudo wireshark -i eth0 -f "port \!22" -k
| |
|
3.7, VAsik (?), 13:16, 17/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> А в чём великая сермяжная правда, если не секрет?
> Чем это отличается от sudo wireshark -i eth0 -f "port \!22" -k
Это для локальной тачки) если есть доступ руками... но что-же делать когда есть только ssh
ssh user@host 'sudo tshark -f "port !22" -w -' | sudo wireshark -k -i -
тут автор коннектится к удалённой тачке user@host пускает там от рута 'tshark -f "port !22" -w -' и передаёт данные со стандартного вывода к себе на wireshark. в итоге получается удалённая гуи
| |
|
4.8, Felixz (??), 13:29, 17/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> А в чём великая сермяжная правда, если не секрет?
>> Чем это отличается от sudo wireshark -i eth0 -f "port \!22" -k
> Это для локальной тачки) если есть доступ руками... но что-же делать
> когда есть только ssh
> ssh user@host 'sudo tshark -f "port !22" -w -' | sudo wireshark
> -k -i -
> тут автор коннектится к удалённой тачке user@host пускает там от рута 'tshark
> -f "port !22" -w -' и передаёт данные со стандартного вывода
> к себе на wireshark. в итоге получается удалённая гуи
Ух, экий никрофилизм ;)
Полностью согласен, с одним "но" - лучше вместо тшарка использовать страрый-добрый tcpdump ибо он есть везде
... 'sudo /usr/sbin/tcpdump -w - (-nl по вкусу) -i eth0 -s 0' | wireshark ....
Спасибо!
| |
|
|
|
1.4, Samm (??), 00:28, 26/02/2010 [ответить]
| +/– |
еще могу ngrep порекомендовать - крайне универсальная тулза, для всех текстовых протоколов.
| |
|
2.5, anonymous (??), 18:08, 26/02/2010 [^] [^^] [^^^] [ответить]
| +/– |
Гм.
# ngrep -d ppp0
interface: ppp0 (х.х.х.х/255.255.255.255)
fatal: unsupported interface type 113
| |
|
|