The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

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" 
 
23.02.2010 , Автор: CHAPPAY , Источник: http://www.faq.lv/idx.php/0/182/art...
Ключи: tshark, sniffer, tcpdump, mnitoring, http / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Просмотр состояния и мониторинг системы

Обсуждение [ RSS ]
 
  • 1.1, Bers666, 00:38, 24/02/2010 [ответить] [смотреть все]
  • +/
    ИМХО urlsnarf из пакета dsniff удобнее.
     
     
  • 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, 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

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor