我想监测本地网络流量,好像“本地连接”显示的发送、接收一样。还要知道该连接的IP。100分求助。
解决方案 »
- VS2005(C#)+SQL2005 运行程序电脑配置要求
- 求助~~实现字符串的竖排,英文和数字可以竖排,但是中文有格式问题,没有乱码。代码在里面
- 求一用c#设计的计算器里的一个小方法
- 各位大哥大姐,小弟有难处了?有C#项目题目吗?小弟最近要做项目了
- 运用记录集,读取TXT有误,请大家帮帮忙!
- 最最基础的取内存地址的问题,急急急在线等。。。。。。。。。。。。。。。。。。
- 我现在有一个dll文件,请问如何可以看到源程序,哪怕是加密后的也行, 很急~谢
- 请教可否根据参数实例化类?
- 一个弱弱的常识性问题,我查了帮助没查到listView中的选中项
- C#的Socket问题
- 请教Socket并行发送问题
- <customErrors> 标记出错问题
http://www.codeproject.com/KB/IP/winnetstat.aspx
http://www.codeproject.com/KB/IP/trafficwatcher.aspx
用GetIfEntry获得指向网卡接口结构的指针,然后读取里面的dwInOctects(流入)和dwOutOctects(流出)变量。
DWORD GetIfEntry
(
PMIB_IFROW pIfRow //接口指针入境
)
typedef struct _MIB_IFROW {
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
DWORD dwIndex; // 指数的界面
DWORD dwType; // 接口类型
DWORD dwMtu; // 最大传输单位
DWORD dwSpeed; // 高速接口
DWORD dwPhysAddrLen; // 物理地址长度
BYTE bPhysAddr[MAXLEN_PHYSADDR]; // 物理地址的适配器
DWORD dwAdminStatus; // 行政地位
DWORD dwOperStatus; // 运行状态
DWORD dwLastChange; // 最后一次战备状态改变
DWORD dwInOctets; // 收到字节
DWORD dwInUcastPkts; // 收到的单播数据包
DWORD dwInNUcastPkts; // 非单播数据包收到
DWORD dwInDiscards; // 收到的数据包丢弃
DWORD dwInErrors; // 收到错误的数据包
DWORD dwInUnknownProtos; // 未知协议包收到
DWORD dwOutOctets; // 发送字节
DWORD dwOutUcastPkts; // 单播数据包发送
DWORD dwOutNUcastPkts; // 非单播数据包发送
DWORD dwOutDiscards; // 即将离任的包丢弃
DWORD dwOutErrors; // 错误的数据包发送
DWORD dwOutQLen; // 输出队列长度
DWORD dwDescrLen; // 长度bDescr成员
BYTE bDescr[MAXLEN_IFDESCR]; // 接口描述
}
MIB_IFTABLE* ifTable = new MIB_IFTABLE[];
MIB_IFROW ifMib; // 获取接口的各种信息
DWORD dwSize = sizeof(MIB_IFTABLE);
GetIfTable(ifTable, &dwSize, TRUE); // 得到接口列表
ifMib.dwIndex = ifTable->table[0].dwIndex; // 设定index,此处取第一块网卡
GetIfEntry(&ifMib);