是否可以查看我通过网络连接发送的字节?

是否可以查看我通过网络连接发送的字节?

我使用的是 Ubuntu 18.04。我正在调试一个与远程服务器通信的应用程序,我希望能够直接查看从我的机器发送的字节(而不是依赖调试输出)。有没有办法做到这一点?

答案1

查看已经从您的盒子发送的流量?不可能。您可以根据服务器端的日志推断流量(如果您有权访问该服务器,但您将查看“应用层”)

您可以tcpdump在开始连接之前启动,将所有流量记录到文件中。例子:

tcpdump -i eth0 -w /tmp/tcpdump.pcap host IP.OF.THE.SERVER

使用关键字host,tcpdump将进行过滤以仅保存以您要连接的服务器作为源或目标的流量。这将避免使用网络的所有流量创建大文件。-i代表网络接口,它需要一个有效的网络接口,-w代表“将原始数据包写入文件”,它需要一个具有写入权限的有效路径。

这将创建一个.pcap包含所有流量的文件,如果您需要一个不错的 GUI 工具,稍后可以使用 Wireshark 查看该文件。如果您想使用读取该文件,tcpdump这里已经有一个很好的答案:

如果您的母语是英语,创建更严格的过滤器只需向tcpdump [expression].按目标和端口隔离已过滤主机至 80 的示例:

tcpdump -i eth0 -w /tmp/tcpdump.pcap dst host IP.OF.THE.SERVER and dst port 80

相关内容