测量单个TCP连接的丢弃数据包数

测量单个TCP连接的丢弃数据包数,tcp,network-programming,Tcp,Network Programming,我对测量网络性能感兴趣。我有一个小工具来做速度测试,但我非常感兴趣的是通过查看有多少数据包被丢弃或重新传输来衡量连接的质量 我知道使用netstat之类的工具可以获得聚合数,但是如何为单个连接获得聚合数呢 语言:C(不指望API,但嘿!) OS:Linux(如果有一种方法也适用于Mac/Win,那就太棒了!) 您可以使用tcpdump并监听特定端口,它就像wireshark(为特定协议、端口、网络等应用过滤器)一样工作,如果我没有错,那么我认为wireshark也可以在后端使用tcpdump

我对测量网络性能感兴趣。我有一个小工具来做速度测试,但我非常感兴趣的是通过查看有多少数据包被丢弃或重新传输来衡量连接的质量

我知道使用netstat之类的工具可以获得聚合数,但是如何为单个连接获得聚合数呢

  • 语言:C(不指望API,但嘿!)
  • OS:Linux(如果有一种方法也适用于Mac/Win,那就太棒了!)

您可以使用tcpdump并监听特定端口,它就像wireshark(为特定协议、端口、网络等应用过滤器)一样工作,如果我没有错,那么我认为wireshark也可以在后端使用tcpdump

可能可以通过在中设置筛选器来完成类似的操作。因此,如果没有外部工具,就不可能解决此问题?问题是,我想最终将我的程序闪存到我的dd wrt上,所以我真的负担不起wireshark…我不知道是否有API来获取您想要的信息。最坏的情况下,你可以下载Wireshark源代码,看看他们是如何做到的。