Wireshark — это мощный сетевой анализатор с открытым исходным кодом, который можно использовать для анализа данных в сети, в качестве помощника при устранении неполадок при анализе сетевого трафика, а также в качестве образовательного инструмента, помогающего понять принципы сетей и протоколов связи.
Он доступен практически для любого дистрибутива Linux, а для Ubuntu его можно установить через Центр программного обеспечения Ubuntu или терминал:
sudo apt-get install wireshark
Перед использованием Wireshark утилите dumpcap
необходимо предоставить разрешение на запуск от имени пользователя root. Без этого Wireshark не сможет захватывать сетевой трафик, когда вы входите в систему как обычный пользователь (что всегда есть в таких дистрибутивах, как Ubuntu). Чтобы добавить бит «setuid
» к dumpcap
, используйте следующую команду:
sudo chmod 4711 `which dumpcap`
Обратите внимание, что кавычки вокруг фразы «который дампкап» — это не обычные одинарные кавычки, а скорее знак серьезного акцента. В Unix-подобных системах это вызывает подстановку команд, при которой выходные данные команды which
становятся параметром для команды chmod
, т. е. полный путь к 12<. /s>двоичный.
Запустите Wireshark и выберите сетевой интерфейс, который вы хотите использовать для сбора данных. В проводной сети это, скорее всего, будет eth0
. Теперь нажмите «Пуск».
Wireshark начнет захватывать трафик и отображать его в виде списка с цветовой кодировкой в главном окне. TCP-трафик выделен зеленым, UDP-пакеты — светло-синим, ARP-запросы — желтым, а DNS-трафик — темно-синим.
Под панелью инструментов находится поле «Фильтр». Чтобы просмотреть только определенные типы сетевых пакетов, введите имя протокола в поле редактирования и нажмите «Применить». Например, чтобы увидеть только сообщение ARP (протокол разрешения адресов), введите arp
в поле «Фильтр» и нажмите «Применить». Список изменится и будет отображать только сообщения ARP. ARP используется в локальной сети для определения того, какая машина использует определенный IP-адрес. Другими примерами фильтров являются HTTP, ICMP, SMTP, SMB и т. д.
Wireshark может фильтровать данные по более сложным критериям, чем просто тип протокола. Например, чтобы увидеть весь трафик, связанный с DNS, исходящий от определенного хоста, используйте фильтр ip.src==192.168.1.101 and dns
, где 192.168.1.101
— это исходный адрес, который вы хотите фильтровать.
Если вы заметили интересное взаимодействие между двумя хостами, которое хотите увидеть целиком, у Wireshark есть опция «следовать за потоком». Щелкните правой кнопкой мыши любой пакет в обмене, а затем нажмите «Следовать за потоком TCP» (или «Следовать за потоком UDP», «Следовать за потоком SSL» в зависимости от типа протокола). Wireshark затем покажет полную копию разговора.
Попробуйте это
Использование Wireshark может быть настолько сложным или простым, насколько вам нужно. Существует множество расширенных функций для сетевых экспертов, но те, кто хочет узнать о сетях, также могут получить от его использования пользу. Вот что стоит попробовать, если вы хотите узнать больше о Wireshark. Запустите захват и установите фильтр ICMP. Теперь проверьте свой компьютер с Linux с помощью такой команды с другого компьютера с Linux или даже из командной оболочки ПК с Windows:
ping 192.168.1.10
Где 192.168.1.10
— IP-адрес компьютера с Linux. Теперь посмотрите на список пакетов и посмотрите, обнаружите ли вы сетевой трафик для проверки связи.