Wireshark (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Wireshark. Дата последней синхронизации: 12 декабря 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Wireshark — бесплатная программа-анализатор сетевых пакетов с открытым исходным кодом. Она используется для решения проблем в сети, анализа, разработки программного обеспечения и протоколов связи, а также для обучения.

Установка

Установите пакет wireshark-qt, который предоставляет графический интерфейс. Версия для командной строки (tshark(1)) доступна в пакете wireshark-cli.

Примечание: Устаревший GTK-интерфейс был удалён в Wireshark 3.0.

termshark — альтернативная версия для командной строки.

Разрешение на захват пакетов

Не запускайте Wireshark от имени root; это небезопасно. Wireshark позволяет разделить привилегии: пользовательский интерфейс запускается от имени обычного пользователя, в то время как утилита dumpcap запускается от имени root. [1]

Установочный скрипт пакета wireshark-cli настраивает привилегии для исполняемого файла /usr/bin/dumpcap.

/usr/bin/dumpcap может выполняться только пользователем root и пользователями из группы wireshark, поэтому для использования Wireshark от имени обычного пользователя добавьте себя в группу wireshark.

Методы анализа захваченных пакетов

В Wireshark есть много разных способов захватить в точности то, что вам нужно. Для этого используются фильтры захвата (capture filters) и дисплейные фильтры (display filters).

Примечание: Синтаксис фильтров захвата подробно описан в pcap-filter(7), а синтаксис дисплейных фильтров — в wireshark-filter(4).

Фильтрация TCP-пакетов

Чтобы посмотреть все текущие TCP-пакеты, введите tcp в фильтр захвата. В командной строке:

$ tshark -f "tcp"

Фильтрация UDP-пакетов

Чтобы посмотреть все текущие UDP-пакеты, введите udp в фильтр захвата. В командной строке:

$ tshark -f "udp"

Фильтрация пакетов с определённым IP-адресом

  • Для просмотра трафика, отправляемый на определённый адрес, используйте следующий дисплейный фильтр: ip.dst == 1.2.3.4.
  • Для просмотра трафика, отправляемого с определённого адреса: ip.src == 1.2.3.4.
  • Для просмотра входящего и исходящего трафика, связанного с указанным адресом: ip.addr == 1.2.3.4.

Исключение пакетов с определённым IP-адресом

ip.addr != 1.2.3.4

Фильтрация пакетов локальной сети

Чтобы посмотреть только локальный трафик, не связанный с интернетом, можно использовать такой дисплейный фильтр:

(ip.src==10.0.0/8 AND ip.dst==10.0.0/8) OR (ip.src==172.16.0.0/12 AND ip.dst==172.16.0.0/12) OR (ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16)

Он покажет только трафик в пределах локальных сетей.

Фильтрация пакетов с определённым портом

Просмотр всех пакетов с указанными TCP-портами:

tcp.port==80||tcp.port==3306
tcp.port==80||tcp.port==3306||tcp.port==443

Захват в фоне с помощью dumpcap

dumpcap — компонент Wireshark, используемый для захвата пакетов без какого-либо графического интерфейса. В сочетании с tmux он позволяет захватывать пакеты в фоновом сеансе.

Для просмотра всех доступных параметров запустите dumpcap с флагом -h.

Следующий пример захватывает пакеты из кольцевого буфера. Он захватывает двадцать файлов .pcap размером 100 МБ каждый, заменяя самый старый файл двадцать первым и так далее. Это позволяет осуществлять непрерывный захват без исчерпания дискового пространства.

# dumpcap -i 1 -b filesize:100000 -b files:20 -w mycapture.pcapng
  • -i − номер интерфейса (как указано в dumpcap -D)
  • -b filesize: − размер файла (в килобайтах), при достижении которого начнётся запись нового файла .pcap
  • -b files: − максимальное число сохраняемых файлов
  • -w − запись захвата в файл mycaptureidentifier.pcapng