
C#
文章平均质量分 78
icehawk
这个作者很懒,什么都没留下…
展开
-
网络流量监视 之一
最近家里头的网络速度挺慢,检查发现机器上p2p一直在不停的贡献着网络流量,需要写一个程序来监视一下网络使用(其他程序也行,不过程序员嘛,还是自己写比较有成就感) DOTNET提供了PerformanceCounter 组件,用于监视系统运行,太方便了,这次的核心就是这个东东。 先了解一下PerformanceCounter组件,使用PerformanceC原创 2010-05-24 15:03:00 · 1362 阅读 · 0 评论 -
网络流量监视 之二
网络流量监视 之一 上回使用PerformanceCounter组件实现了对网卡上下行流量监视,但是功能太简单了,要想更复杂的功能,比如通信IP地址,MAC,协议,端口等信息,就需要使用Raw Socket了。 Raw socket即原始套接字,可以用它来发送和接收 IP 层以上的原始数据包, 如 ICMP, TCP, UDP...如果把网卡设置成混杂模式,甚至可以捕原创 2010-05-25 13:54:00 · 1044 阅读 · 0 评论 -
网络流量监视 之三
上篇网络流量监视 之二写到通过raw socket捕获到了包括IP头数据包,下面的工作就是分析该数据包了 数据包结构很多地方都有介绍的,具体如下 ---------------------------------------------- | ip header | tcp header(or x header) | data | -------原创 2010-05-26 14:12:00 · 724 阅读 · 0 评论 -
网络流量监视 之四
接着上一篇写, 上一篇写到收集到了IP包信息,利用这些信息,就可以基本监控一些基本流量信息了。 如上图所示,可以基本监视到上行下行流量,TCP以及UDP流量。下方区域显示了对应通信IP的数据包累计总长度。 需要注意的地方是,raw socket采集到的数据包,包含了很多不属于自己的UDP包,需要把这些包丢弃再进行流量统计。 于是我写了个简原创 2010-05-30 13:11:00 · 646 阅读 · 0 评论 -
网络流量监视 之五
由于raw sokcet需要绑定到IP,所以需检测安装的网卡信息,最近对这个方面做了一些学习。 要检测安装的网卡信息,需要用到iphlpapi.dll提供的GetAdaptersInfo函数,其定义如下 [DllImport("iphlpapi.dll", CharSet=CharSet.Ansi)] public static extern int GetAdaptersInfo(IntPtr pAdapterInfo, ref Int64 pBufOutLen);原创 2010-06-15 13:42:00 · 782 阅读 · 2 评论