Вывод этих примеров и параметры команд могут отличаться в разных версиях linux.
Основные команды Tcpdump
- tcpdump port 257 , <- на брандмауэре, это позволит вам увидеть, проходят ли журналы от брандмауэра к менеджеру, и на какой адрес они направляются.
- tcpdump -i WAN.15 <- data-blogger-escaped-capture=”” data-blogger-escaped-everything=”” data-blogger-escaped-interface=”” data-blogger-escaped-li=”” data-blogger-escaped-on=”” data-blogger-escaped-this=””
- data-blogger-escaped-to=””>
- tcpdump -i eth1. 16 icmp <- для захвата только PING’ов на этом интерфейсе
- tcpdump -i Mgmt -vvv -s0 -w tcpdumpfile. log <- перехватывает ПОЛНЫЕ пакеты в файл, полезный для wireshark the -s0 останавливает сокращение файлов
- tcpdump -i INT port 67 <- просмотр dhcp-запросов
- tcpdump -eP -nni any host 10.9.4. 30
- tcpdump -i any
- tcpdump -nn
- tcpdump -i <интерфейс> -s0 -w <some-file>
- tcpdump -i eth0 -s 0 host 5.19.12.34 and port 443 -w capture.pcap
- tcpdump -ttttnr capture.pcap : просмотр захваченных пакетов из файла pcap
- tcpdump -D : отображение списка доступных интерфейсов
Флаги:
- S – SYN (начало соединения)
- . – Флаг не установлен
- P – PSH (Push Data)
- F – FIN (Finish Connection)
- R – RST (Reset Connection)
«ack» означает подтверждение, «win» означает «скользящие окна», «mss» означает «максимальный размер сегмента», „nop“ означает «нет операции».
Флаги представляют собой некоторую комбинацию из S (SYN), F (FIN), P (PUSH), R (RST), W (ECN CWR) или E (ECN-Echo),
или одиночный „.“ (без флагов)
Selective Acknowledgment Permitted (SackOK): Эта опция просто говорит, что выборочные подтверждения разрешены для данного соединения. SackOK должен быть включен в опции TCP в обоих пакетах SYN и SYN/ACK во время трехстороннего рукопожатия TCP, иначе он не может быть использован. SackOK не должен появляться ни в каких других пакетах.
Трехстороннее рукопожатие:
Трехстороннее рукопожатие – это просто запрос соединения между узлом-источником и узлом назначения, а затем подтверждение друг другу, что соединение установлено.
🖧 Что такое трехстороннее рукопожатие TCP
Как упоминалось выше, для открытия сессии клиент определяет локальный порт источника и начальный номер последовательности (Initial Sequence Number, ISN).
ISN – это случайно определенное целое число от 0 до 4 294 967 295.
Общающиеся хосты обмениваются ISN во время инициализации соединения.
Каждый хост устанавливает два счетчика: последовательности и подтверждений.
В контексте одного TCP-пакета номер последовательности устанавливается хостом-отправителем, а номер подтверждения – хостом-получателем.
Хост A отправляет пакет TCP SYNchronize на хост B
Хост B получает SYN от A
Хост B отправляет SYNchronize-ACKnowledgement
Хост A получает SYN-ACK от B
Хост A отправляет ACKnowledge
Хост B получает ACK.
TCP-сокет соединение УСТАНОВЛЕНО.
tcp three-way handshake,syn,syn-ack,ack
Форматирование протоколов
tcpdump обеспечивает форматирование данных для следующих протоколов:
- ICMP
- ISAKMP
- ARP
- NTP
- DNS
- STP
- HSRP
- SNMP
- RADIUS
Если вы видите „[|proto]“ в конце подробного вывода, например, „[|radius]“, то длина привязки слишком мала для захвата данных приложения; просто увеличьте ее (с помощью параметра -s0), чтобы увидеть полную информацию о данных приложения.
см. также:
🖧 Как составить список всех MAC-адресов в сети с помощью tcpdump
🐧 Получение информации о сетевых соединениях с помощью tcpdump на Linux
🖧 Как захватить и проанализировать сетевой трафик с помощью tcpdump?