Как заставить tcpdump отображать только IP-адрес источника, IP-адрес назначения, порты и временные метки

655
my_question

Я использую tcpdump для отслеживания трафика на 2 интерфейсах, один вход и один выход. Единственной целью является измерение задержки между временем, когда входной интерфейс получает входящий TCP-трафик, и временем, когда выходной интерфейс отправляет UDP-трафик.

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

В настоящее время это моя команда: tcpdump -i any -v "tcp or udp" -ttttt| тройник

Это работает, но мне интересно, смогу ли я дополнительно урезать его вывод (фрагмент):

 00:00:00.000000 IP (tos 0x0, ttl 64, id 28712, offset 0, flags [DF], proto TCP (6), length 60) 10.10.30.6.38574 > 10.10.30.161.81: Flags [S], cksum 0x55bd (correct), seq 1010316358, win 29200, options [mss 1460,sackOK,TS val 1402655839 ecr 0,nop,wscale 7], lis= 00:00:00.000035 IP (tos 0x0, ttl 255, id 15035, offset 0, flags [DF], proto TCP (6), length 60) 10.10.30.161.81 > 10.10.30.6.38574: Flags [S.], cksum 0x50e9 (incorrect -> 0xa4d3), seq 3593868966, ack 1010316359, win 4380, options [mss 1460,nop,nop,TS val 1402655838 ecr 1402655839,sackOK,eol], length 0 out 00:00:00.000438 IP (tos 0x0, ttl 64, id 28713, offset 0, flags [DF], proto TCP (6), length 52) 

Вы можете увидеть две вещи:

  1. IP-адреса источника и назначения находятся на разных строках от метки времени.

  2. Есть еще много информации, мне все равно

Итак, мой вопрос:

  1. Есть ли способ отрисовки tcpdump для отображения метки времени в той же строке, что и IP-адреса источника / назначения?

  2. Могу ли я сократить выход?

[ОБНОВЛЕНИЕ] В настоящее время я остановился на следующем решении командной оболочки. Тем не менее, мне все еще интересно узнать о моих вопросах.

Используйте эту команду для поиска первого входящего TCP-пакета:

$>grep -A 1 TCP /tmp/junk | head -n 2 

И это для первого исходящего UDP:

$> grep -A 1 UDP /tmp/junk | head -n 2 
0
Вы пробовали `-q`? В противном случае, судя по быстрому просмотру справочной страницы, текстовый формат не представляется настраиваемым в деталях. Таким образом, варианты: (1) пост-процесс (как вы сделали), (2) написать свой собственный дампер. dirkt 6 лет назад 0
Если `tshark` является опцией для вас, вы можете получить намного более точный контроль с его выводом, чем с` tcpdump`, я думаю. Christopher Maynard 6 лет назад 0

0 ответов на вопрос