Практические примеры Tcpdump? [закрытый]

Я хочу собрать tcpdump примеры, как можно больше!




Е. Г.: как фильтровать пароли FTP на eth0; или как фильтр HTTP 404 ошибки и т. д.



14
задан LanceBaynes
20.12.2022 18:13 Количество просмотров материала 2365
Распечатать страницу

5 ответов

он не выполняет никакой фильтрации, но в этом примере создается удобный анализатор непрерывных пакетов:

tcpdump -n -C 128 -W 100 -z /home/user/compress_logs.pl -i br0 -w /home/user/packetlogs/packetlog.pcap &
  • -n не выполнять обратный поиск по IP-адресам, не преобразовывать номера портов в текстовые описания, не преобразовывать MAC-адреса в имена и т. д..
  • -C 128 поворот файлов захвата каждые 128,000,000 байт
  • -W 100 ограничить количество вращаемых файлов захвата (см. -C) до 100
  • -z /home/user/compress_logs.pl выполнить скрипт compress_logs.pl по каждому повернутый файл захвата
  • -i br0 захват на интерфейсе br0
  • -w /home/user/packetlogs/packetlog.pcap использовать имя файла /home/user/packetlogs/packetlog.pcap
  • & это анализируется bash; указывает, что команда должна выполняться в фоновом режиме (асинхронно)

вставьте его в /etc / rc.локальный для запуска при загрузке. Он захватывает все пакеты на интерфейсе br0, который может быть двумя интерфейсами в линии в качестве крана или двумя интерфейсами, подключенными к пассивному крану, или одним интерфейсом, подключенным к зеркальному порт коммутатора (я использовал все три на практике)

он пишет ~ 128 МБ файлов и автоматически поворачивает до 100 из них. Когда он захватывает 128 МБ данных, он закрывает файл, открывает новый и разветвляет указанную команду со старым именем файла в качестве аргумента - в этом случае небольшой скрипт Perl, который сжимает предыдущий файл захвата для более быстрой передачи с сервера IDS.

я использую это, когда мне нужно контролировать соединение в течение длительного времени (например, день или два) и нужно вернуться и найти событие, которое произошло в определенное время. Маленькие файлы намного проще обрабатывать в Wireshark, чем один огромный файл pcap.

4
отвечен shiftycow 2022-12-22 02:01

захватывать только данные HTTP POST:

tcpdump tcp[2:2] = 80 and \(tcp[20:4] = 1347375956 
or tcp[24:4] = 1347375956 
or tcp[28:4] = 1347375956 
or tcp[32:4] = 1347375956 
or tcp[36:4] = 1347375956 
or tcp[40:4] = 1347375956 
or tcp[44:4] = 1347375956 
or tcp[48:4] = 1347375956 
or tcp[52:4] = 1347375956 
or tcp[56:4] = 1347375956 
or tcp[60:4] = 1347375956\)

немного неудобно, но определенно полезно. tcp[2:2] захватывает, начиная с позиции 2 заголовка TCP, 2 байта (которые являются портом, порт 80 является для трафика HTTP).

затем мы хотим сравнить первые 4 байта данных TCP с 'POST'. Заголовок TCP составляет не менее 20 (десятичных) байт, но поскольку параметры TCP имеют переменную длину, от 0 до 40 байт (дополненных 32-разрядной границей и начинающихся с), мы должны проверить каждый 4 байта от 20 до 60 (десятичное). Наконец,1347375956 - это база 10 тупоконечников двоичное представление ASCII текст 'пост'. Используйте значения ниже для других типов HTTP:

  • GET 1195725856 (включает в себя пространство после "GET", которое необходимо, потому что мы сравниваем с 4 байтами)
  • POST 1347375956
  • PUT 1347769376 (включая пробел)
  • удалить 1145392197 (просто "DELE", на самом деле)

для других типов, преобразуйте 4 ASCII символы в hex (вы должны использовать ровно 4 символа), затем обработать шестнадцатеричный байт как одно число и преобразовать его в десятичное. Например, POST -50 4f 53 54. 504f5354 преобразовать в десятичное число 1347375956.

4
отвечен Code Bling 2022-12-22 04:18

захват все в файл (так что вы можете проанализировать его позже с Wireshark или что-то):

sudo tcpdump -i en0 -s0 -w ~/capture.pcap
  • -i en0 захват на интерфейсе en0
  • -s0 использовать весь пакет (не обрезать -- snarf 0)
  • -w ~/capture.pcap записать в файл захвата пакетов ~/capture.pcap
1
отвечен Spiff 2022-12-22 06:35

фильтр решений шпаргалка:

http://staff.washington.edu/dittrich/talks/core02/tools/tcpdump-filters.txt

1
отвечен Code Bling 2022-12-22 08:52

если вы хотите отслеживать DNS-запросы клиентов на маршрутизаторе OpenWRT:

tcpdump -n -i br-lan dst port 53
  • -n не выполнять обратный поиск по IP-адресам, не преобразовывать номера портов в текстовые описания, не преобразовывать MAC-адреса в имена и т. д..
  • -i br-lan захват на интерфейсе br-lan
  • dst port 53 порт назначения фильтра 53, порт для службы DNS
0
отвечен LanceBaynes 2022-12-22 11:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх