<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tcpdump &#8212; Мой Блог</title>
	<atom:link href="https://elbrav.ru/ru/archives/tag/tcpdump/feed" rel="self" type="application/rss+xml" />
	<link>https://elbrav.ru</link>
	<description>Разная полезная информация</description>
	<lastBuildDate>Thu, 26 Jan 2023 08:45:40 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.2</generator>

<image>
	<url>https://elbrav.ru/wp-content/uploads/2023/01/cropped-logo-color-1-1-32x32.png</url>
	<title>tcpdump &#8212; Мой Блог</title>
	<link>https://elbrav.ru</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Про tcpdump</title>
		<link>https://elbrav.ru/ru/archives/162</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 25 Jan 2023 10:48:36 +0000</pubDate>
				<category><![CDATA[Анализ Трафика]]></category>
		<category><![CDATA[tcpdump]]></category>
		<category><![CDATA[анализ трафика]]></category>
		<guid isPermaLink="false">https://elbrav.tech/?p=162</guid>

					<description><![CDATA[Tcpdump — утилита для анализа и перехвата сетевого трафика. Используется для диагностики сетевых проблем. Можно увидеть какими пакетами обмениваются устройства, какие порты используются, Официальный сайт [...]]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center has-highlight-color has-text-color has-medium-font-size" id="tcpdhead"></p>


<nav style="background-color: #eae3ed;" class="has-text-color has-black-color has-background  is-vertical wp-block-navigation is-layout-flex wp-container-core-navigation-layout-1 wp-block-navigation-is-layout-flex" aria-label="tcpd"><ul style="background-color: #eae3ed;" class="wp-block-navigation__container has-text-color has-black-color has-background  is-vertical wp-block-navigation"><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content"  href="#tcpdinfo"><span class="wp-block-navigation-item__label">Выводимая информация</span></a></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content"  href="#tcpdflag"><span class="wp-block-navigation-item__label">Флаги TCP</span></a></li><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content"  href="#tcpdopt"><span class="wp-block-navigation-item__label">Опции запуска</span></a></li></ul></nav>


<p>Tcpdump — утилита для анализа и перехвата сетевого трафика. Используется для диагностики сетевых проблем. Можно увидеть какими пакетами обмениваются устройства, какие порты используются,</p>



<p>Официальный сайт проекта: <a href="https://www.tcpdump.org/">https://www.tcpdump.org/</a></p>



<p><strong>Как выглядит вывод команды?</strong></p>



<p>Один перехваченный пакет — одна строка в выводе.</p>



<p>12:54:21.590381 IP 10.20.3.215 &gt; 10.100.1.50: ICMP echo request, id 27945, seq 1, length 64</p>



<p class="has-text-align-center" id="tcpdinfo"><strong>В строках может содержаться информация: </strong></p>



<ul>
<li>Метка времени</li>



<li>Протокол</li>



<li>IP адрес или имя источника</li>



<li>Исходящий порт</li>



<li>IP адрес или имя назначения</li>



<li>Порт назначения</li>



<li>Флаги</li>



<li>Порядковый номер пакета</li>



<li>Номер подтверждения</li>



<li>Размер окна в байтах</li>



<li>Длина полезной нагрузки</li>
</ul>



<p>Завершение работы утилиты &#8212; Ctrl+C</p>



<p class="has-text-align-left"><a href="#tcpdhead">Вверх</a></p>



<p id="tcpdflag"></p>



<p class="has-text-align-center"><strong>Флаги </strong><strong>TCP</strong></p>



<p>Может быть более одного значения в одном пакете.</p>



<ul>
<li>S – SYN</li>



<li>F – FIN</li>



<li>. – ACK</li>



<li>P – PUSH</li>



<li>R – RST</li>
</ul>



<p>tcpdump&nbsp;&#8216;tcp[tcpflags]&nbsp;== tcp-rst&#8217;</p>



<p>Запуск утилиты:</p>



<p>Запускаем с правами root</p>



<p class="has-text-align-left"><a href="#tcpdhead">Вверх</a></p>



<p id="tcpdopt"></p>



<p class="has-text-align-center" id="tcpdopt"><strong>Опции запуска</strong></p>



<p>tcpdump -D – вывод всех доступных для захвата трафика сетевых интерфейсов</p>



<p>tcpdump –list-interfaces – оно же.</p>



<p>Для фильтрации вывода используется язык BPF.</p>



<p>Например</p>



<p>sudo tcpdump port 53.</p>



<p>Здесь port 53 – это BPF фильтр.</p>



<p>Другие BPF – фильтры:</p>



<ul>
<li>port</li>



<li>portrange</li>



<li>net</li>



<li>mask</li>



<li>host</li>



<li>src</li>



<li>dst</li>



<li>tcp</li>



<li>udp</li>



<li>icmp</li>



<li>greater</li>



<li>ip6</li>



<li>less</li>



<li>&lt;=</li>
</ul>



<p>для комбинирования фильтров можно использовать логические операторы</p>



<ul>
<li>and</li>



<li>or</li>



<li>not</li>
</ul>



<p>Например</p>



<p>tcpdump -A greater 1000 and \(src host amazon.com or src host tcpdump.com\)</p>



<p>Скобки здесь нужны чтобы размер пакета учитывался для обоих источников. «\» &#8212; потому что это shell-команда. &nbsp;</p>



<p>tcpdump -A greater 1000 and \(src host amazon.com or tcpdump.com\) – тоже работает. Исключили повторяющиеся идентификаторы.</p>



<p>tcpdump `greater 1000 and (src host amazon.com or tcpdump.com)` &#8212; тоже работает</p>



<p>Для просмотра файла дампа в Wireshark нужно сохранить вывод в файл с расширением .pcap и открыть его в wireshark.</p>



<p>Как передать вывод tcpdump в wireshark:</p>



<p>ssh &lt;remote.ip> tcpdump -pni any -w &#8212; -s0 -U port <em>dest_port</em> | wireshark -k -i – для трансляции вывода из tcpdump в wireshark.</p>



<p>Запись в файл: sudo tcpdump host <em>host</em><em>_</em><em>ip</em> -w <em>filename</em><em> </em>-c 10000 (записывает только 10000 пакетов)</p>



<p>-i – для фильтра по интерфейсу. Рекомендуется указывать интерфейс или писать -i any, т.к. по дефолту интерфейс может быть неподходящий.</p>



<p>-w – для записи в файл</p>



<p>-c – количество пакетов</p>



<p>-A – полный вывод содержимого пакетов в формате ASCII (-X – для вывода в HEX-формате). -x – вывод в hex-режиме первых 82 байт пакета. Для вывода ethernet-заголовка используется -xx (добавит 14 байт).</p>



<p>(можно использовать ngrep)</p>



<p>-n – запрет трансляции ip адресов в имена (по умолчанию транслируется).</p>



<p>В случае большого количества улавливаемых пакетов, постоянные DNS-запросы замедляют и даже могут приостановить работу tcpdump, также эту опцию нужно использовать при отсутствии связи с DNS-сервером или при его некорректной работе.</p>



<p>-e – информация L2 . Например MAC-адреса</p>



<p>-P &nbsp;&#8212; показывает только пакеты, которые приходят или отправляются с данного IP.</p>



<p>Флаги -v, -vv и -vvv влияют на подробность вывода.</p>



<p>-t – исключить timestamp</p>



<p>-tt – timestamp – количество секунд, отсчитываемое от 1.01.1970</p>



<p>-ttt – разница между этой строкой и предыдущей.</p>



<p>-tttt – удобный вывод времени</p>



<p>-r – прочитать записанный дамп</p>



<p>-s – размер захватываемого пакета. По дефолту, когда дамп сохраняется в файл, сохраняется только 68 байт данных каждого пакета. -s 0 – говорит сохранять пакет целиком.</p>



<p>Примеры</p>



<p>tcpdump src net 10.208.148.0 mask 255.255.255.0</p>



<p>tcpdump src net 10.208.148.0/24</p>



<p>tcpdump -ni eth1 greater 1000 – захватывает пакеты размером более 1000 байт</p>



<p>См. также https://packetlife.net/media/library/12/tcpdump.pdf</p>



<p>Список литературы</p>



<ul>
<li><a href="https://wizardzines.com/zines/tcpdump/">Let&#8217;s learn tcpdump!</a>&nbsp;by Julia Evans.</li>



<li><a href="http://www.alexonlinux.com/tcpdump-for-dummies">http://www.alexonlinux.com/tcpdump-for-dummies</a></li>
</ul>



<p id="tcpdhead"></p>



<p><a href="#tcpdhead">Вверх</a></p>



<p id="tcpdhead"></p>



<p></p>



<ul>
<li></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
