请教一下,如何在Win7下实时流量监控。
看过别人的源代码试过 iphlpapi.dll 在WIN7下不行,XP下可以
还试过其它的源代码,偏差值太大了。
Declare Function GetIfTable Lib "iphlpapi.dll" (ByRef pIfTable As MIB_IFTABLE, ByRef pdwSize As Long, _
ByVal bOrder As Long) As Long
Declare Function GetIfEntry Lib "iphlpapi.dll" (pIfRow As MIB_IFROW) As Long
Type MIB_IFROW
'保存结果信息
wszName(0 To 511) As Byte '接口名称的Unicode字符串,必须为512字节
dwIndex As Long '接口编号
dwType As Long '接口类型,参看IP_ADAPTER_INFO类型的Type成员
dwMtu As Long '最大传输单元
dwSpeed As Long '接口速度(字节)
dwPhysAddrLen As Long '由bPhysAddr获得的物理地址有效长度
bPhysAddr(0 To 7) As Byte '物理地址
dwAdminStatus As Long '接口管理状态
dwOperStatus As Long '操作状态,以下值之一:
dwLastChange As Long '操作状态最后改变的时间
dwInOctets As Long '总共收到(字节)
dwInUcastPkts As Long '总共收到(unicast包)
dwInNUcastPkts As Long '总共收到(non-unicast包),包括广播包和多点传送包
dwInDiscards As Long '收到后丢弃包总数(即使没有错误)
dwInErrors As Long '收到出错包总数
dwInUnknownProtos As Long '收到后因协议不明而丢弃的包总数
dwOutOctets As Long '总共发送(字节)
dwOutUcastPkts As Long '总共发送(unicast包)
dwOutNUcastPkts As Long '总共发送(non-unicast包),包括广播包和多点传送包
dwOutDiscards As Long '发送丢弃包总数(即使没有错误)
dwOutErrors As Long '发送出错包总数
dwOutQLen As Long '发送队列长度
dwDescrLen As Long 'bDescr部分有效长度
bDescr(0 To 255) As Byte '接口描述
End Type
Type MIB_IFTABLE '包含结果表
dwNumEntries As Long '当前网络接口的总数
MIB_Table(9) As MIB_IFROW '指向一个包含MIB_IFROW类型的指针
End Type
Private Sub Timer1_Timer()
Me.Cls
Dim Net As MIB_IFTABLE
LenIfT = Len(Net)
RValue = GetIfTable(Net, LenIfT, True)
'由Net.dwNumEntries获得接口数量,然后用for…next循环获取每个接口信息:
For i = 1 To Net.dwNumEntries - 1
With Net.MIB_Table(i)
Print "网络描述:" & StrConv(.bDescr, vbUnicode)
Print "----" & Time & "----"
Print "接口编号:" & .dwIndex
Print "接口速度:" & .dwSpeed
Print "接口状态:" & .dwAdminStatus
Print "操作状态:" & .dwOperStatus
Print "收到字节:" & .dwInOctets
For XI = 1 To .dwPhysAddrLen - 1
TXX = TXX & Format(Hex(.bPhysAddr(XI)), "00")
Next
If TXX <> "" Then Print "网卡地址:"; TXX
End With
Next
End Sub
还试过其它的源代码,偏差值太大了。
Declare Function GetNetworkParams Lib "iphlpapi.dll" (FixedInfo As Any, pOutBufLen As Long) As LongDeclare Function GetIfTable Lib "iphlpapi.dll" (ByRef pIfTable As MIB_IFTABLE, ByRef pdwSize As Long, _
ByVal bOrder As Long) As Long
Declare Function GetIfEntry Lib "iphlpapi.dll" (pIfRow As MIB_IFROW) As Long
Type MIB_IFROW
'保存结果信息
wszName(0 To 511) As Byte '接口名称的Unicode字符串,必须为512字节
dwIndex As Long '接口编号
dwType As Long '接口类型,参看IP_ADAPTER_INFO类型的Type成员
dwMtu As Long '最大传输单元
dwSpeed As Long '接口速度(字节)
dwPhysAddrLen As Long '由bPhysAddr获得的物理地址有效长度
bPhysAddr(0 To 7) As Byte '物理地址
dwAdminStatus As Long '接口管理状态
dwOperStatus As Long '操作状态,以下值之一:
dwLastChange As Long '操作状态最后改变的时间
dwInOctets As Long '总共收到(字节)
dwInUcastPkts As Long '总共收到(unicast包)
dwInNUcastPkts As Long '总共收到(non-unicast包),包括广播包和多点传送包
dwInDiscards As Long '收到后丢弃包总数(即使没有错误)
dwInErrors As Long '收到出错包总数
dwInUnknownProtos As Long '收到后因协议不明而丢弃的包总数
dwOutOctets As Long '总共发送(字节)
dwOutUcastPkts As Long '总共发送(unicast包)
dwOutNUcastPkts As Long '总共发送(non-unicast包),包括广播包和多点传送包
dwOutDiscards As Long '发送丢弃包总数(即使没有错误)
dwOutErrors As Long '发送出错包总数
dwOutQLen As Long '发送队列长度
dwDescrLen As Long 'bDescr部分有效长度
bDescr(0 To 255) As Byte '接口描述
End Type
Type MIB_IFTABLE '包含结果表
dwNumEntries As Long '当前网络接口的总数
MIB_Table(9) As MIB_IFROW '指向一个包含MIB_IFROW类型的指针
End Type
Private Sub Timer1_Timer()
Me.Cls
Dim Net As MIB_IFTABLE
LenIfT = Len(Net)
RValue = GetIfTable(Net, LenIfT, True)
'由Net.dwNumEntries获得接口数量,然后用for…next循环获取每个接口信息:
For i = 1 To Net.dwNumEntries - 1
With Net.MIB_Table(i)
Print "网络描述:" & StrConv(.bDescr, vbUnicode)
Print "----" & Time & "----"
Print "接口编号:" & .dwIndex
Print "接口速度:" & .dwSpeed
Print "接口状态:" & .dwAdminStatus
Print "操作状态:" & .dwOperStatus
Print "收到字节:" & .dwInOctets
For XI = 1 To .dwPhysAddrLen - 1
TXX = TXX & Format(Hex(.bPhysAddr(XI)), "00")
Next
If TXX <> "" Then Print "网卡地址:"; TXX
End With
Next
End Sub
...全文
相关推荐
win7 流量查看工具
可以明确的看出目前电脑的实时流量,以波形图的形式显示自打开流量工具至当前的历史流量情况。
实时监控Win7和Win8任务栏网络流量的实用小工具
在开发网络监控软件时,除了直接使用Windows API之外,还可以利用现有的第三方网络监控库来简化开发流程。这些库封装了网络通信、数据处理等复杂操作,允许开发者更快地构建应用程序。一些流行的网络监控库包括如pcap(用于网络流量捕获)、Boost.Asio(用于跨平台的网络编程)等。pcap库广泛用于网络监控工具中,因为它可以捕获经过网络接口的所有数据包。Boost.Asio则适合需要进行高度定制网络操作的应用程序。库名称功能特点适用场景学习曲线WinPcap。
网络流量显示小工具
一款win7监控网络流量的小工具,支持32/64位的win7系统
win7,win8任务栏监控流量小软件
win7,win8任务栏监控流量小软件。简单实用的任务栏监控小软件,能随时随地监控你的网络状态
WIN7网络流量监控小工具
WIN7网络流量监控小工具,WIN7网络流量监控小工具,WIN7网络流量监控小工具


网络编程

