Контроль Трафика HTTP с помощью tcpdump

В простых словах: Поскольку это шифрует и дешифрует трафик, это требует обработки с обеих сторон (сервер и клиент).

42
задан 2 December 2011 в 10:31
7 ответов

tcpdump печатает полные пакеты. "Мусор", который Вы видите, является на самом деле заголовками пакета TCP.

можно ли, конечно, массажировать вывод с т.е. сценарий жемчуга, но почему бы не использовать tshark, текстовую версию wireshark вместо этого?

tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

это берет те же аргументы в качестве tcpdump (та же библиотека), но начиная с анализатор это может сделать глубокую проверку пакетов, таким образом, можно совершенствовать фильтры еще больше, т.е.

tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -R'http.request.method == "GET" || http.request.method == "HEAD"'

39
ответ дан 28 November 2019 в 19:42
  • 1
    Спасибо - после испытания всех предложений, tshark походит на лучший инструмент для задания. I' m в настоящее время с помощью " tshark-d tcp.port == 8070, http-R ' http.request или http.response' ". теперь, если только я мог бы получить tshark к " следуйте за tcp stream" точно так же, как wireshark может (Это быть спрошенным много, но я все еще haven' t нашел ответ). "-V" информация о дисплеях о TCP и пакетах IP и так далее, который I' m не заинтересованный. Но я предполагаю, что могу удалить то использование сценария. –  otto.poellath 18 November 2009 в 17:39

смотрите на ngrep - это mighe быть несколько полезными для Вас.

как ссылка для других httpry [сервер, кажется, снижается теперь, но я надеюсь, что это временное], и tshark являются также полезными для пассивного анализа протоколов - сначала один только для http, вторыми - для намного больше.

18
ответ дан 28 November 2019 в 19:42
  • 1
    +1 для ngrep. Очень полезный инструмент. –  tylerl 15 November 2009 в 08:39
  • 2
    ngrep и httpry выглядят определенно полезными, но ngrep не знает о HTTP, и AFAIK, httpry только работает с HTTP-заголовками и не может отобразить данные полезной нагрузки. –  otto.poellath 18 November 2009 в 17:41
  • 3
    @sapporo - уверенный - ngrep является агностиком протокола, но можно добавить, что pcap фильтруют " порт 80" и доберитесь.. в [большинство случаев] трафик HTTP только. –  pQd 18 November 2009 в 18:31

Я предложил бы использовать dumbed вниз tcpdump командная строка, которая хранит все в pcap файле для процесса сообщения. В зависимости от то, что точно Вы смотрите на диагностирование tcpflow, работает отлично для соединения связи назад когерентным способом к анализу.

Некоторая другая хорошая информация включая некоторые использования для httpry может быть найдена в: http://taosecurity.blogspot.com/2008/06/logging-web-traffic-with-httpry.html

1
ответ дан 28 November 2019 в 19:42

Веб-сервер Вы используете не, производят журналы? Конечно, это было бы намного лучшим способом контролировать Трафик HTTP, существует множество инструментов для анализа данных, и любой компетентный веб-сервер должен произвести надежные журналы.

0
ответ дан 28 November 2019 в 19:42
  • 1
    Очевидно. Я предполагаю, что он уже думал об этом, все же. Иногда it' s полезный, чтобы контролировать фактические данные, отправляемые между точкой A и указать на B. –  tylerl 15 November 2009 в 08:37

Существует несколько инструментов, доступных на рынке, разработанном особенно для контроля Трафика HTTP. Fiddler2 (http://www.fiddler2.org) и Отладчик HTTP Pro являются примерами таких инструментов.

0
ответ дан 28 November 2019 в 19:42
  • 1
    Спасибо за Ваши предложения. К сожалению, оба инструмента, кажется, работают над Windows только. Я не упомянул это, но я смотрю для чего-то, что работает над Linux. –  otto.poellath 21 July 2010 в 12:30

Попробуйте httpry или justniffer

Justniffer хорошо работает с пакетами TCP, переупорядочивая повторные передачи и фрагментацию IP

5
ответ дан 28 November 2019 в 19:42

Ваша «проблема» при использовании TCPDUMP заключается в том, что он показывает вам содержимое заголовка пакета.

Если вы все еще хотите использовать TCPDUMP, просто удалите -A . Это должно удалить это из вывода.

sudo tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
0
ответ дан 22 January 2020 в 10:41

Теги

Похожие вопросы