Estoy usando tcpdump en OpenBSD e intento aprenderlo de unimprimación sobre ello.
Quiero capturar una variedad de puertos, pero parece que la forma de hacerlo ha cambiado. Ni siquiera puedo encontrar portrange como palabra clave en la página del manual que también sugiere esto.
# tcpdump portrange 100-65535
tcpdump: syntax error
No es una cosa:
# man tcpdump | grep portrange
#
Supongo que esto ha cambiado o es diferente en OpenBSD. Si alguien pudiera decirme qué hacer para esto, ya que mis primeras lecciones vamos a ser con algo práctico, sería genial. Sería incluso mejor si alguien me informara sobre un manual actualizado sobre tcpdump.
OpenBSD viene con su propio tcpdump que podría ser una bifurcación, no estoy muy seguro.
Respuesta1
portrange
no está en el filtro pcap de OpenBSD, pero puedes falsificarlo.
tcpdump -i em0 tcp[2:2] > 79 and tcp[2:2] < 85
Puede abordar partes de los paquetes y compararlas. El primer número se desplaza en el paquete (comenzando en cero) y el segundo número es cuántos bytes usar. Entonces, el ejemplo anterior coincide con cualquier paquete tcp con un puerto de destino de 80 a 84. También puede usar <= y >= para hacer las cosas más intuitivas.
La comparación con el puerto de origen sería tcp[0:2]
. En realidad, UDP sería lo mismo ya que los puertos tienen las mismas compensaciones.
Respuesta2
Los filtros de visualización son manejados por libpcap, y OpenBSD tiene sus propios libpcap y tcpdump, que no necesariamente recogen los cambios de libpcap y tcpdump de tcpdump.org.
Si portrange
no funciona, su soporte es probablemente una de las cosas que OpenBSD no adquirió.
Respuesta3
man pcap-filter
no deberías usarman tcpdump
De acuerdo a 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.