Да, вы можете.Вы можете выполнить следующие команды, чтобы отфильтровать первый пакет трафика SSL
,
Метод 1
[root@arif]# tcpdump -i eth0 src host 192.168.0.2 and dst host 40.113.200.201 and dst port 443 -c 1
Где,
-i
: упомянуть интерфейс src host
: это ip вашего локального хоста dst host
: это ip вашего конечного хоста dst port
: порт назначения, где обслуживается услуга SSL
.Вы можете изменить порт по умолчанию (443) в соответствии с вашей конфигурацией. -c
: используется для выхода tcpdump
после получения пакетов подсчета.Флаг
-c
является основным компонентом вашей фильтрации, поскольку этот флаг указывает tcpdump
выйти после определенного количества пакетов.Здесь я использовал 1
для выхода tcpdump
после захвата только одного (первого) пакета.
Метод 2
Приведенное выше решение будет работать, только если выинициировать tcpdump
каждый раз.Если вы хотите отфильтровать только первый пакет из каждого потока SSL
, выполните следующую команду:
[root@arif]# tcpdump -li eth0 src host 192.168.0.2 and dst host 40.113.200.201 and port 443 and tcp[13] == 2
Где,
l
: "Сделать строку stdout буферизованной. Полезно, если вы хотите видеть данные во время их захвата. "Это поможет вам grep/tee/awk
на выходе.
src
host
dst
host
: Вы можете игнорировать эту фильтрацию, если не хотите указывать источники IP-адрес назначения
tcp[13] == 2
В TCP
номер октата заголовка.13
- октат, используемый для установки флагов.Для установки SYN
бит 0 0 0 0 0 0 1 0
используется комбинация (взгляните на диаграмму ниже), которая является десятичной 2
.Таким образом, это поможет вам отфильтровать только пакеты SYN
, которые являются первым пакетом потока SSL
.
|C|E|U|A|P|R|S|F|
|---------------|
|0 0 0 0 0 0 1 0|
|---------------|
Таким образом, вышеуказанная конфигурация должна работать для большинстваscenerio.