如何在linux中调试网络堆栈

时间:2012-06-06 19:00:42

标签: linux network-programming

我正在尝试使用原始套接字将数据包注入网络,但不知何故似乎无法让接收器捕获此数据包。我如何检查linux网络堆栈是否丢弃了数据包?有人可以指出一些工具吗?

3 个答案:

答案 0 :(得分:1)

我不知道直接访问网络堆栈(不是说这是不可能的,只是我不知道如何做就可以了),但你可能会使用Wireshark或类似的东西看看是否有NIC在接收端接收数据包。您也可以在发送端使用它来检查数据包是否正确发送(或者实际上是在第一时间发送,如果这是问题),因为它允许您检查字段/等。个别数据包。真的很有用的工具。

http://www.wireshark.org/

请注意,该网站没有针对Linux版本的直接下载,但会列出各种Linux发行版的第三方软件包。

答案 1 :(得分:1)

选项包括wireshark和tcpdump,或者tcpdumping到pcap文件中,然后使用wireshark进行分析。一种选择可能也是使用strace或类似工具来跟踪执行发送的系统调用。

答案 2 :(得分:0)