захватить сетевой трафик на двух разных портах одновременно - PullRequest
3 голосов
/ 29 ноября 2011

Я хочу захватить трафик tcpdump одновременно на двух разных портах.

Я попробовал это ..

  $ tcpdump port 21 ; tcpdump port 22

Хотя это сработало, но проблема в том, что сначала он будет ждать трафика на порту 21и когда он прерван, он будет ждать порта 22.

Еще одна проблема заключается в том, что он не будет захватывать трафик на порту 22 до тех пор, пока не будет захвачен трафик на порту 21.

Я хочу заказать бесплатноРешение означает, что в любом порядке, куда поступают пакеты, если они предназначены для порта 21 или 22, они должны быть перехвачены.

Пожалуйста, помогите мне в этом !!!

РЕДАКТИРОВАТЬ:

Извините, я не указал это до того, как фактическая команда, которую я пытаюсь запустить, это ..

  $ tcpdump -X -s0 protochain 50

и

  $ tcpdump -X -s0 protochain 51

Теперь мне нужно использовать 50 и 51оба одновременно ..

Ответы [ 4 ]

4 голосов
/ 29 ноября 2011

Привет, вам просто нужно составить два порта следующим образом:

tcpdump -n -i $INTERFACE port 21 or port 22

где -n получит числовой адрес без обратного разрешения (быстрее)
а $INTERFACE - это реальный интерфейс, где вы нюхаете трафик

3 голосов
/ 29 ноября 2011

Я не tcpdump эксперт, но нашел это в справочной странице tcpdump :

tcpdump 'gateway snup and (port ftp or ftp-data)'

Так что попробуйте

tcpdump '(port ftp or ftp-data)'
0 голосов
/ 22 марта 2019

Как говорили другие участники, вы можете использовать логический оператор and, но имейте в виду, что вы можете использовать его вместе с другими операторами.Чтобы убедиться, что tcpdump видит их, и что приоритет оператора - тот, который вам нужен, используйте скобки, но только в одинарных кавычках, как в следующем примере: sudo tcpdump -i eth0 '(port 465 or port 587)' and src 1.2.3.4, потому что если вы опустите одинарные кавычки, ваша оболочка может их интерпретироватьдо того, как это сделает tcpdump и b), вы не будете уверены, что оператор имеет приоритет друг перед другом.Несмотря на это, теперь вы можете делать любые комбинации, как в арифметике.

0 голосов
/ 29 ноября 2011

Проблема решена, это было на самом деле очень просто, я должен был попробовать это раньше ..

но спасибо, я понял мою идею, просто посмотрев на ваши ответы.

Я думаю, что это красотаstackoverflow, если бы мы могли найти точный ответ, мы можем придумать его через обсуждение...

 $ tcpdump -X -s0 protochain 50 or 51
...