Wireshark это популярная программа для анализа сетевого трафика, которая может использоваться при диагностике сетевых подключений и выявления активности различных программ и протоколов. Для удобства фильтрации всего трафика, проходящего через сетевую карту вы можете использовать фильтры Wireshark. У начинающих администраторов применение фильтров в Wireshark вызывает ряд вопросов. В этой статье мы собрали основные примеры фильтров Wireshark (по IP адресу, протоколу, порту, MAC адресу), которые будут полезны для быстрого старта.
Есть два типа фильтров: фильтры отображения и фильтры захвата. В этой статье мы рассматриваем только фильтры отображения, позволяющие быстро найти целевой трафик.
Фильтры задаются в верхней части окна Wireshark в поле Apply a display filter.
Фильтр Wireshark представляет собой строку, в которой можно указывать различные условия фильтрации. Вы можете использовать следующие операторы для проверки условий:
Оператор | Значение |
== | равно |
!= | не равно (кроме) |
> | больше |
< | меньше |
>= | больше или равно |
<= | меньше или равно |
contains | содержит (точное соответствие) |
matches | совпадает (регулярное выражение) |
Для объединения нескольких условий (правил) используют специальные операторы:
Текстовый оператор | Символьный оператор | Значение |
and | && | Логическое И |
or | || | Логическое ИЛИ |
xor | ^^ | Исключающее ИЛИ |
not | ! | Логическое НЕ |
in | В (поиск в массиве) | |
[…] | Подпоследовательность |
Вы можете использовать фильтры в зависимости от направления трафика:
- фильтр с .src показывает только трафик от указанного значения
- фильтр с .dst показывает трафик к указанному значению
- фильтр с .addr используется для фильтрация трафик в обоих направлениях
Фильтр | Значение |
ip.addr ip.src ip.dst ip.host | Фильтр по IPv4 |
ipv6.addr ipv6.src ipv6.dst | Фильтр по IPv6 |
tcp tcp.port tcp.dstport tcp.srcport | Фильтры по протоколу TCP |
udp udp.port udp.dstport udp.srcport | Фильтры по протоколу UDP |
arp arp.src arp.dst arp.dst.hw_mac | ARP-фильтры |
icmp icmpv6 icmp.type | Фильтры протокола ICMP |
eth eth.addr eth.dst eth.src | Ethernet-фильтры |
http http2 http.host http.request http.content_type | Протокол HTTP |
sip rtp rtcp raw_sip iax2 | Фильтры для трафика IP телефонии |
rdp | Remote Desktop Protocol |
vnc | Virtual Network Computing |
l2tp | Layer 2 Tunneling Protocol |
ldap | Lightweight Directory Access Protocol |
openvpn | OpenVPN Protocol |
ppp | Point-to-Point Protocol |
pppoe pppoed pppoes: | PPP-over-Ethernet |
pptp | Point-to-Point Tunneling Protocol |
smtp imap pop | Протоколы почтовых приложений |
ftp tftp uftp | File Transfer Protocol |
ssh | Secure Shell |
Приведенный список содержит часть самых популярных фильтров
Ниже приведены часто используемые фильтры Wireshark:
Фильтры по IP-адресу:
ip.addr == 192.168.10.0/24
!(ip.addr == 192.168.10.1)
ip.src == 192.168.22.11 && ip.dst == 192.168.14.15
ip.addr => 172.16.1.14 && ip.addr <= 172.16.1.16
Фильтры по DNS-имени:
tcp contains "vmblog.ru"
http.host == "report.vmblog.ru"
(поиск точного значения в заголовках http)
http.host contains "vmblog.ru"
(поиск содержимого в заголовках http)
http.host
(все запросы с полем host в заголовке http)
Фильтры по портам TCP или UDP:
tcp.port == 443
tcp.dstport == 80
udp.srcport == 53
tcp.dstport>=8000 && tcp.dstport<=8180
Фильтры для протокола DHCP:
udp.dstport == 67
bootp.option.dhcp
Фильтры по MAC адресу:
eth.src == 01:2b:2a:a2:aa:22
eth.dst == 01:2b:2a:a2:aa:22
Фильтры по содержимому:
http.content_type contains "jpeg"
http.content_type contains "image"
http.content_type contains "xml"
http.request.uri contains "rar"
Фильтры для ICMP:
icmp
icmp.type==0
(ответы на ping)
icmp.type==3
(ошибки недоступности)
Фильтры заголовков HTTP:
http.content_type == "text/plain"
(по значению поля content type)
http.request.method == "POST"
http.request.method == "GET"
http.response.code == 404
(по коду ответа)
http.response.code != 200
(по коду ответа)
http.server == "nginx"
(по значению поля server)
Фильтры для анализа SIP-трафика:
sip
rtp
rtcp
rtpevent
udp.srcport >= 10000 && udp.srcport <= 20000
udp.port == 5060 || tcp.port == 5060