Я использую tcpdump на OpenBSD и пытаюсь изучить его сгрунтовка на нем.
Я хочу захватить диапазон портов, но, похоже, способ этого изменился. Я даже не могу найти portrange как ключевое слово на странице руководства, которая также предполагает это.
# tcpdump portrange 100-65535
tcpdump: syntax error
Ничего:
# man tcpdump | grep portrange
#
Я предполагаю, что это изменилось, или это по-другому в OpenBSD. Если бы кто-нибудь мог сказать мне, что делать для этого, поскольку мои первые уроки будут с чем-то практическим, это было бы здорово. Было бы еще лучше, если бы кто-нибудь рассказал мне об обновленном учебнике по tcpdump.
OpenBSD поставляется со своим собственным tcpdump, который может быть форком, я не совсем уверен.
решение1
portrange
его нет в pcap-filter OpenBSD, но его можно подделать.
tcpdump -i em0 tcp[2:2] > 79 and tcp[2:2] < 85
Вы можете адресовать части пакетов и сравнивать с ними. Первое число — это смещение в пакете (начиная с нуля), а второе число — сколько байтов использовать. Таким образом, приведенный выше пример соответствует любому пакету tcp с портом назначения от 80 до 84. Вы также можете использовать <= и >=, чтобы сделать все более интуитивно понятным.
Сопоставление с исходным портом будет tcp[0:2]
. UDP на самом деле будет таким же, поскольку порты находятся на тех же смещениях.
решение2
Фильтры отображения обрабатываются libpcap, а OpenBSD имеет собственные libpcap и tcpdump, которые не обязательно учитывают изменения из libpcap и tcpdump с сайта tcpdump.org.
Если portrange
это не работает, то, вероятно, OpenBSD не поддерживает эту функцию.
решение3
вы должны использовать man pcap-filter
not 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.