Синтаксическая ошибка tcpdump при указании portrange как документально

Я использую tcpdump на OpenBSD и пытаюсь изучить его из учебника на нем .

Я хочу захватить ряд портов, но кажется, что это сделано, изменилось. Я даже не могу найти portrange как ключевое слово на странице руководства, которое также предлагает это.

# tcpdump portrange 100-65535 tcpdump: syntax error 

Ничего:

 # man tcpdump | grep portrange # 

Я предполагаю, что это изменилось, или оно отличается от OpenBSD. Если бы кто-нибудь мог сказать мне, что делать для этого, так как мои первые уроки мы будем с чем-то практичным, это было бы здорово. Было бы еще лучше, если бы кто-нибудь рассказал мне об обновленном учебнике по tcpdump.

OpenBSD поставляется с собственным tcpdump, который может быть вилкой, я не уверен.

3 Solutions collect form web for “Синтаксическая ошибка tcpdump при указании portrange как документально”

portrange не существует в pcap-фильтре OpenBSD, но вы можете подделать его.

 tcpdump -i em0 tcp[2:2] > 79 and tcp[2:2] < 85 

Вы можете адресовать части пакетов и сравнивать их. Первое число смещается в пакете (начиная с нуля), а второе число – сколько байтов для использования. Таким образом, приведенный выше пример соответствует любому пакету tcp с портом назначения от 80 до 84. Вы также можете использовать <= и> =, чтобы сделать вещи более интуитивными.

Соответствие с исходным портом будет tcp[0:2] . UDP фактически будет таким же, поскольку порты находятся на одинаковых смещениях.

Фильтры отображения обрабатываются libpcap, а OpenBSD имеет свой собственный libpcap и tcpdump, которые не обязательно подбирают изменения из libpcap tcpdump.org и tcpdump.

Если portrange не работает, поддержка для него, вероятно, является одной из вещей, которые OpenBSD не выбрал.

вы должны использовать man pcap-filter не man tcpdump

Согласно man pcap-filter :

 dst portrange port1-port2 True if the packet is ip/tcp, ip/udp, ip6/tcp or ip6/udp and has a destination port value between port1 and port2. port1 and port2 are interpreted in the same fashion as the port parameter for port. src portrange port1-port2 True if the packet has a source port value between port1 and port2. portrange port1-port2 True if either the source or destination port of the packet is between port1 and port2. Any of the above port or port range expressions can be prepended with the keywords, tcp or udp, as in: tcp src port port which matches only tcp packets whose source port is port. 
  • «Tail -f», используя «tcpdump -r»
  • Можно ли просмотреть текст в формате unicode в выводе tcpdump?
  • tcpdump, похоже, не захватывает какие-либо данные, почему?
  • Как я могу регистрировать исходящий трафик TCP, включая полный путь к URL-адресам?
  • Как обнюхать информацию о загрузке различных компьютеров в сети (маршрутизатор)
  • Есть ли утилита, которая позволяет создавать структурированные данные из шестиугольников tcpdump?
  • iptrace для linux: как я могу отслеживать полное содержимое пакета?
  • Как фиксировать трафик прокси-сервера SQUID через tcpdump с фактической информацией?
  • Ghost NTP-сервер на Debian 8.6
  • Как узнать количество сообщений, полученных в очереди сообщений в определенный момент времени
  • Обработка временных меток вывода tcpdump в режиме реального времени
  • Linux и Unix - лучшая ОС в мире.