В целях отладки я хочу отслеживать http-запросы на сетевом интерфейсе.
Используя наивную tcpdump
командную строку, я получаю слишком много информации низкого уровня, и информация, которая мне нужна, не очень четко представлена.
Вывод трафика через tcpdump
файл и последующее использование wireshark
имеет тот недостаток, что он не на лету.
Я представляю себе использование инструмента следующим образом:
$ monitorhttp -ieth0 --only-get --just-urls
2011-01-23 20:00:01 GET http://foo.example.org/blah.js
2011-01-23 20:03:01 GET http://foo.example.org/bar.html
...
Я использую Linux.
networking
monitoring
http-logging
maxschlepzig
источник
источник
Ответы:
Попробуй
tcpflow
:Вывод такой:
Очевидно, что вы можете добавить дополнительные HTTP-методы в оператор grep и использовать их
sed
для объединения двух строк в полный URL-адрес.источник
tcpflow
заключается в том, что он уже доступен в репозиториях по умолчанию в Ubuntu 10.04 (justsniffer, httpry нет). Информация о пакете гласит, что IP-фрагменты не записаны должным образом - не знаю, имеет ли это значение для этого варианта использования - возможно, justsniffer может обработать их лучше.Вы можете использовать httpry или Justniffer, чтобы сделать это.
httpry
доступно, например, через репозиторий пакетов Fedora.Пример вызова:
(где
em1
обозначает имя сетевого интерфейса)Пример вывода:
(вывод немного укорочен)
источник
Я искал что-то подобное, с дополнительным требованием, чтобы оно работало и для https .
Такие инструменты на базе pcap, как
tcpflow
httpry
urlsnarf
и другие tcpdump kung fu, хорошо работают для http, но для защищенных запросов вам не повезло.Я придумал urldump , небольшую оболочку вокруг mitmproxy .
iptables
используется для перенаправления трафика на прокси, поэтому он работает прозрачно.Смотрите README для получения дополнительной информации.
источник
Я думаю, что Wireshark способен делать то, что вы хотите
С другой стороны, он очень мощный, вы можете установить его через apt-get, и он поставляется с графическим интерфейсом.
Тем не менее, система фильтрации сложна, но в нее встроены хорошие учебники, которые дадут вам обзор трафика в режиме реального времени или старт / стоп.
Ввод слова 'http' в фильтр, вероятно, даст вам то, что вы ищете (то есть основной трафик, генерируемый пользователями).
источник
Другим хорошим вариантом могут быть сурки
На fedora доступен среди основных пакетов, а на centos вы можете получить его через репозиторий epel.
источник
Существует также программа командной строки,
urlsnarf
которая является частью пакета dsniff (который также поставляется, например, с Fedora 19).Пример:
(при просмотре сначала в SE, а затем в spiegel.de)
Ограничения: dsnarf не поддерживает IPv6 . Я могу воспроизвести этот отчет об ошибке с 0.17 на Fedora 19. Также, похоже, не работает в Ubuntu trusty atm (отлично работает под lucid).
источник