Networking 使用iftop通过特定端口的网络流量

Networking 使用iftop通过特定端口的网络流量,networking,network-programming,wireshark,Networking,Network Programming,Wireshark,我有一个使用https的进程。我使用ps找到了它的PID,并使用命令lsof-Pan-ppid-I获取它正在运行的端口号 我需要iftop来查看数据传输。我现在使用的过滤器是 iftop-f“端口http 57787” 我不认为这给了我正确的输出。 有人能帮我找到合适的过滤器来使用iftop,这样我就可以知道只通过这个端口的流量了吗 我可以在这里看到两个问题: 那是打字错误吗?过滤的正确选项是-f(小“f”)-F(大写字母“F”)选项用于净额/掩码 2/虽然iftop文档中没有明确说明,但过滤的

我有一个使用https的进程。我使用
ps
找到了它的PID,并使用命令
lsof-Pan-ppid-I
获取它正在运行的端口号

我需要iftop来查看数据传输。我现在使用的过滤器是
iftop-f“端口http 57787”

我不认为这给了我正确的输出。
有人能帮我找到合适的过滤器来使用iftop,这样我就可以知道只通过这个端口的流量了吗

我可以在这里看到两个问题:

那是打字错误吗?过滤的正确选项是-f(小“f”)-F(大写字母“F”)选项用于净额/掩码

2/虽然
iftop
文档中没有明确说明,但过滤的语法似乎是所给出的几个示例中的
pcap
语法(使用
ldd
我可以看到是的,
iftop
二进制与
libpcap
链接)。因此,使用
http
的过滤器根本无效。要查看
pcap
过滤语法的文档,请查看
pcap过滤器(7)-数据包过滤器语法手册页。在您的示例中,可以使用“tcp端口57787”之类的过滤器
pcap
不进行第5层及以上的协议解析,如http(pcap筛选器由内核中的BPF处理,因此在第4层以上您可以自己处理,因为这与内核无关)

总而言之,这些看起来像是iperf的bug。它应该拒绝您的“-F”选项,即使使用“-F”也会以错误代码退出,因为
pcap
将拒绝筛选表达式。没什么大不了的,
iftop
是一个普通的程序。见下面的编辑

编辑:

我刚刚检查了iftop版本1.0pre4的源代码,从
iftop.c
中的
set\u filter\u code()
及其调用者
packet\u init()。它正确退出,但有错误,但是

错误2,使用“-f”选项,但您的筛选器语法不正确:

jbm@sumo:~$ sudo iftop -f "port http 57787"
interface: eth0
IP address is: 192.168.1.67
MAC address is: 8c:89:a5:57:10:3c
set_filter_code: syntax error
jbm@sumo:~$ sudo iftop -F "port http 57787"
没关系

错误1,用“-F”代替“-F”,出现问题:

jbm@sumo:~$ sudo iftop -f "port http 57787"
interface: eth0
IP address is: 192.168.1.67
MAC address is: 8c:89:a5:57:10:3c
set_filter_code: syntax error
jbm@sumo:~$ sudo iftop -F "port http 57787"
(一切似乎都差不多正常,但随后退出程序)


哎呀!“无法分析网络/掩码:端口http 57787”!这是一个bug:它应该马上退出。

有没有办法查看所有tcp端口的流量?@nidhimj22当然有<代码>sudo iftop-f“tcp”
请按照我上面的建议阅读pcap筛选器手册页。这是一项投资,您可以使用
tcpdump
wireshark
dumpcap
…我意识到进程运行的端口正在发生变化(我不知道为什么)。。是否有一种方法可以包含所有http端口和/或所有https端口。我正在尝试查看http和https之间的性能差异。HTTPS的性能更好。我想查看接收到的数据,看看HTTPS是否正在执行某种压缩,从而提高了效率,还是存在其他问题。任何帮助都将不胜感激。@nidhimj22没有“http”端口。端口用于第4层(tcp或udp),http是第5层协议。如果需要指定协议,则需要更高级别的工具,该工具不仅可以捕获协议,还可以解析协议<代码>pcap
,在它的级别上,只捕获和过滤到第4层,正如我所解释的。执行上述协议解析的工具示例包括
pcap
(非常有限的解析)和
wireshark
(非常强大)。环顾四周,甚至使用利用pcap的LIB做自己的事情,比如scapy。