Слава нації
#StandWithUkraine

Роман Теличко

Блог з програмування, оптимізації та адміністрування систем

ТОП 15 продвинутых команд для работы с tcpdump

// 14 Лютого, 2014 | 11027 переглядів | коментарів (0)

Решил составить ТОП 15 самых интерестных способов использования программы анализатора траффика (сниффера) tcpdump.

  • Получение всей полезной информации о пакете.
    tcpdump -nnvvXSs 1514 -i $INTERFACE
  • Перехват логина и пароля для протоколов pop3, imap, smtp и http
    tcpdump -i $INTERFACE port http or port smtp or port imap or port pop3 -l -A \
    | egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user '
  • Сниффинг HTTP траффика
    tcpdump -i $INTERFACE port 80 -w - 
  • Анализирует траффик удаленно через SSH с помощью Wireshark
    ssh root@HOST tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -
  • Отображает пропускную возможность сети.
    tcpdump -w - | pv -bert >/dev/null 
  • Сниффинг удаленной сети для получения pcap файла в режиме командной строки.
    Прервать сбор можно нажатием CTRL+C, после чего открыть его с помощью wireshark для более детального анализа так: wireshark /tmp/sniff.pcap
    Запускается на удалённом хосте.

    tcpdump -v -i $INTERFACE -s 0 -w /tmp/sniff.pcap port  
  • Анализ SMTP. Вы можете запустить это на почтовом сервере, чтобы посмотреть отправителей электронной почты и получателей.
    tcpdump -l -s0 -w - tcp dst port 25 | strings | grep -i 'MAIL FROM\|RCPT TO'
  • Захват 1500 байт данных в ASCII-режиме на 80-ом порту.
    tcpdump -i $INTERFACE -n tcp port 80 -A -s1500
  • Захват траффика memcached
    tcpdump -i $INTERFACE -s 65535 -A -ttt port 11211
  • Сниффинг траффика и переадресация его в snort на машину 192.168.0.2

    Запускается на удалённом хосте.

    tcpdump -nn -i $INTERFACE -w - | nc 192.168.0.2 666
  • Получение информации о Cisco-сети (VLAN тэг, порт, switch, …)
    tcpdump -nn -v -i $INTERFACE -s 1500 -c 1 'ether[20:2] == 0x2000'
  • Отображение SYN-пакетов для всех сетевых интерфейсов
    tcpdump -i any -n tcp[13] == 2
  • Сниффинг всех DNS запросов и ответов
    tcpdump -i $INTERFACE 'udp port 53'

  • Сниффинг TCP и UDP траффика, исключая SSH
    tcpdump -n -v tcp or udp or icmp and not port 22

Увеличиваем таймаут разрыва соединения с сервером через SSH

// 13 Лютого, 2014 | 7231 переглядів | коментарів (0)

Иногда необходимо постоянно (или довольно долго) держать соединение с сервером по SSH. Но это наталкивает на проблему разрыва соединения с сервером из-за длительной неактивности клиента. Существует 2 варианта решения этой проблемы.

Способ №1.
Если у вас есть root-доступ к серверу, то вы можете просто установить значение в файле конфигурации SSH /etc/ssh/sshd_config

ClientAliveInterval 60

Эта строчка устанавливает интервал времени ожидания в секундах, после которого демон SSH sshd отправит клиенту NULL-пакет для поддержания соединения.
По умолчанию, значение этой переменной 0, что означает что сервер не будет поддерживать соединение с клиентом и разорвёт его после длительного отсутствия активности.
Не забудьте перезапустить sshd на сервере после сохранения файла.

Способ №2.
Второй способ проще и его можно применить ко всем вашим SSH-подключениям сразу.
Просто добавьте эти строчки в файл ~/.ssh/config на вашей локальной машине:

Host *
  ServerAliveInterval 60

Если у вас не было этого файла, тогда создайте его, установив ему права 600:

chmod 600 ~/.ssh/config

Эти строчки заставляют отправлять ваш ssh-клиент каждые 60 секунд KeepAlive сообщения для всех серверов к которым вы будете подключаться, тем самым поддерживая с ними постоянное соединение.

Это всё.