Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
tcpdump [2019/08/18 19:36] mirocowtcpdump [2019/12/24 23:12] (текущий) – [tcpdump на unix socket] mirocow
Строка 2: Строка 2:
  
 ====== tcpdump ====== ====== tcpdump ======
 +
 +===== Анализ =====
 +
 +  * tcpdump -n -i eth0 -l | tee resolv.pcap
 +  * ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -
 +==== Фильтры ====
 +
 +^                ^                                                              ^
 +| Фильтр         | Определение                                                  |
 +| host           | Служит для указания имени хоста                              |
 +| net            | Указывает IP подсети и сети                                  |
 +| ip             | Служит для указания адреса протокола                         |
 +| src            | Выводит пакеты, которые были отправлены с указанного адреса  |
 +| dst            | Выводит пакеты, которые были получены указанным адресом      |
 +| arp, udp, tcp  | Фильтрация по одному из протоколов                           |
 +| port, portrange           | Отображает информацию, относящуюся к определенному порту, диапазону портов     |
 +| and, or        | Служит для объединения нескольких фильтров в команде         |
 +| less, greater  | Вывод пакетов меньше или больше указанного размера           |
 +
 +==== Ключи ====
 +
  
   * -i - Прослушиваемый интерфейс   * -i - Прослушиваемый интерфейс
Строка 30: Строка 51:
 ===== Примеры ===== ===== Примеры =====
  
-==== Анализ DNS трафика ====+=== Анализ DNS трафика ===
  
 <code bash> <code bash>
Строка 36: Строка 57:
 </code> </code>
  
-==== Анализ трафика HTTP сервера =====+=== Анализ трафика HTTP сервера ===
  
 <code bash> <code bash>
Строка 42: Строка 63:
 </code> </code>
  
-==== Анализ PHP-FPM на 9000 порту ====+=== Анализ PHP-FPM на 9000 порту ===
  
 <code bash> <code bash>
Строка 48: Строка 69:
 </code> </code>
  
 +=== Анализирует траффик удаленно через SSH с помощью Wireshark ===
  
 +<code bash>$ ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -</code>
  
-===== Анализ =====+=== UDP трафик с и на IP xxx.xxx.xxx.251 destined for port 5060: ===
  
-  * tcpdump -n -i eth0 -l | tee resolv.pcap +<code bash>tcpdump -nnvvS udp and host xxx.xxx.xxx.251 and dst port 5060</code>
-  * затем Wireshark+
  
 +=== Записать в файл mbill251 весь трафик с хоста xxx.xxx.xxx.251 за исключением трафика ssh ===
 +
 +<code bash>$ tcpdump -n -i eth0 host xxx.xxx.xxx.251 -vvv and not port 22 -w /home/mbill251</code>
 +
 +=== Прослушать порт 5060 с ip xxx.xxx.xxx.251 ===
 +
 +<code bash>
 +$ tcpdump -i eth0 -n -s 0 port 5060 and host xxx.xxx.xxx.251 -vvv -w /usr/local/tcpdumplog/log
 +$ tcpdump -i eth0 -n -s 0 port 1720 and host xxx.xxx.xxx.251 -vvv -w /usr/local/tcpdumplog
 +</code>
 +
 +=== H.323 сигналинг ловим с двух IP. В таком виде с двух IP отказалось снимать, может быть OR нужно было поставить. ===
 +
 +<code bash>$ tcpdump -i eth0 -n -s 0 port 1720 and host xxx.xxx.164.1 and host xxx.xxx.107.1 -vvv -w /usr/local/tcpdumplog/logfile</code>
 +
 +=== перечислить доступные интерфейсы (которые можно прослушивать при помощи опции -i) ===
 +
 +<code bash>$ tcpdump -D</code>
 +
 +=== посмотреть трафик одного хоста: ===
 +
 +<code bash>$ tcpdump host 1.2.3.4</code>
 +
 +=== посмотреть трафик на порте: ===
 +
 +<code bash>$ tcpdump src port 80</code>
 +
 +=== посмотреть IP трафик на хост: ===
 +
 +<code bash>$ tcpdump ip host 1.2.3.4</code>
 +
 +=== посмотреть ARP трафик на хост: ===
 +
 +<code bash>$ tcpdump arp host 1.2.3.4</code>
 +
 +=== посмотреть RARP трафик на хост: ===
 +
 +<code bash>$ tcpdump rarp host 1.2.3.4</code>
 +
 +=== посмотреть трафик, кроме хоста unixserver: ===
 +
 +<code bash>$ tcpdump not host unixserver</code>
 +
 +==== посмотреть трафик на server1 и server2 ====
 +
 +<code bash>$ tcpdump host server1 or host server2</code>
 +
 +=== посмотреть содержимое пакетов на интерфейсе tun0 на хост ya.ru ===
 +
 +<code bash>$ tcpdump -X -i tun0 host ya.ru</code>
 +
 +=== подсмотреть номера и пароли к icq ===
 +
 +<code bash>$ tcpdump -X -i fxp1 port aol</code>
 +
 +=== посмотреть содержимое пакетов на интерфейсе tun0 на хост ya.ru ===
 +
 +посмотреть содержимое пакетов на интерфейсе tun0 на хост ya.ru, при этом прочитать из каждого пакета по 1500 байт и не преобразовывать IP в имя хоста
 +
 +<code bash>$ tcpdump -X -s 1500 -n -i tun0 host ya.ru</code>
 +
 +=== TCP traffic from 10.5.2.3 destined for port 3389: ===
 +
 +<code bash>$ tcpdump -nnvvS tcp and src 10.5.2.3 and dst port 3389</code>
 +
 +=== Traffic originating from the 192.168 network headed for the 10 or 172.16 networks: ===
 +
 +<code bash>$ tcpdump -nvX src net 192.168.0.0/16 and dst net 10.0.0.0/8 or 172.16.0.0/16</code>
 +
 +=== Non-ICMP traffic destined for 192.168.0.2 from the 172.16 network: ===
 +
 +<code bash>$ tcpdump -nvvXSs 1514 dst 192.168.0.2 and src net 172.16.0.0/16 and not icmp
 +$ tcpdump -nvvvpi rl0 tcp and not port ssh and not port smtp</code>
 +
 +=== tcpdump на unix socket ===
 +
 +nano ./host.conf, затем перезапускаем nginx
 +<code>
 +fastcgi_pass unix:/tmp/php-fpm.sock.socat;
 +</code>
 +
 +Запускаем снифер и смотрим вывод
 +<code bash>
 +$ socat -t100 -x -v UNIX-LISTEN:/tmp/php-fpm.sock.socat,mode=777,reuseaddr,fork UNIX-CONNECT:/tmp/php-fpm.sock
 +</code>
 +
 +=== Заголовок ===
 +
 +<code bash>
 +$ tcpdump -i eth1 tcp and host 10.27.13.14 and port 6973 -s0 -vv -X -c 1000
 +</code>
 ===== Ссылки ===== ===== Ссылки =====
  
Строка 60: Строка 173:
   * http://storm.in.ua/a2/analiz-setevogo-trafika-s-pomoschyu-Tcpdump.html   * http://storm.in.ua/a2/analiz-setevogo-trafika-s-pomoschyu-Tcpdump.html
   * http://www.inattack.ru/article/analiz-trafika-pri-pomoschi-tcpdump-chas/266.html#.UIpnsYKCgUA   * http://www.inattack.ru/article/analiz-trafika-pri-pomoschi-tcpdump-chas/266.html#.UIpnsYKCgUA
-  * +  * https://xakep.ru/2012/02/06/tcpdump-network-audit/ 
 +  * [[https://habr.com/ru/post/211042/|Фильтры захвата для сетевых анализаторов ]] :!: