我希望同时捕获两个不同端口上的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 ..
答案 0 :(得分:4)
嗨,你只需要像这样组成两个端口:
tcpdump -n -i $INTERFACE port 21 or port 22
其中-n
将获得数字地址而无需反向解析(更快)
而$INTERFACE
是你嗅到交通的真实界面
答案 1 :(得分:3)
我不是tcpdump
专家,但在tcpdump
manpage:
tcpdump 'gateway snup and (port ftp or ftp-data)'
所以试试这个
tcpdump '(port ftp or ftp-data)'
答案 2 :(得分:0)
问题解决了它实际上非常简单我应该尝试过它..
但是谢谢我只是通过查看你的答案得到了我的想法。
我认为如果我们能找到一个确切的答案,那就是stackoverflow的美妙之处,我们可以通过讨论来发明它。 ..
$ tcpdump -X -s0 protochain 50 or 51
答案 3 :(得分:0)
就像其他贡献者所说,您可以使用and
逻辑运算符,但是要注意,您也可以将其与其他运算符结合使用。为确保tcpdump能够看到它们,并且运算符优先级是您想要的优先级,请使用方括号,但仅在单引号中使用方括号,如以下示例所示:
sudo tcpdump -i eth0 '(port 465 or port 587)' and src 1.2.3.4
,因为如果省略单引号,则外壳程序可能会在tcpdump之前解释它们,并且b),您将不确定运算符的优先级是什么。鉴于此,您现在可以进行任何组合,就像在算术中一样。