阅读:1325回复:2
请问如何取得TCP出错重发的数据包的数目?
请问如何编程取得: 1. 数据在传输过程中, 由于网线受干扰等原因, 出现错误, 由TCP协议底层要求重发的数据包数目; 2 TCP发出的数据包的总数目; 3 TCP接收到的数据包的总数目? 只要指导一下研究方向就好, 我现在不知道从哪里下手, 多谢诸位大虾.
在命令行下执行的\"netstat -s\"可以查看到: TCP Statistics for IPv4 Active Opens = 9640 Passive Opens = 1323 Failed Connection Attempts = 391 Reset Connections = 1047 Current Connections = 5 Segments Received = 421709 Segments Sent = 310227 Segments Retransmitted = 2507 这样的数据, 其中的Segments Retransmitted是否就是出错重传的数据包数目? 如果是, 这些出错重传的包是属于发送(Segments Sent)的,还是属于接收(Segments Received)的部分? 如何编程自己取得这些数据? |
|
沙发#
发布于:2003-08-02 10:38
TCP协议是提供一种面向连接的可靠的字节流服务。所以利用TCP的双方主机要先建立一个端对端的连接,关于TCP协议在《tcp/ip详解》里有非常详细的说明,你可以取看一下。
如果想截获TCP包有很多中方法,比如用原始SOCKET,winpcap,ndis等都可以,就看你具体情况定了。 |
|
|
板凳#
发布于:2003-08-02 11:51
我不是想截获TCP包,只是想获取一些统计数据 我在帖子:
http://www.driverdevelop.com/forum/viewthread.php?tid=41921 中看到可以用\"发DeviceIOControl()下IOCTL_NDIS_QUERY_GLOBAL_STATS的IRP去查。\", 对不对? |
|