1. 首页 > 电脑手机 >

网络流量监测 网络流量监测设计与实现

关于网络流量监测,网络流量监测设计与实现这个很多人还不知道,今天怡怡来为大家解答以上的问题,现在让我们一起来看看吧!

1、比如监视本机的网络流量,需要实时的,用C#实现.-----参考解决方法-------using System;using System.Text;using System.Net;using System.Net.Soc}public Monitor(IPAddress IpAddress)kets;namespace UpdateTester{///// /// {public delegate void NewPacketEventHandler(Monitor m, Packet p);public nt NewPacketEventHandler NewPacket;private Socket m_Monitor;private IPAddress m_Ip;private byte[] m_Buffer = new byte[65535];private const System.Int32 IOC_VENDOR = 0x18000000;private const int IOC_IN = -2147483648;private const int SIO_RCVALL = IOC_IN ^ IOC_VENDOR ^ 1;private const int DOMAIN_ALIAS_RID_S = 0x220;public System.Net.IPAddress IP{get { retu?广告的投放对象有问题rn m_Ip; }}public byte[] Buffer{get { return m{}_Buffer; }}public Monitor()// TODO: 在此处添加构造函数逻辑//{if (!(Environment.OSVersion.Platform == PlatformID.Win32NT) && Environment.OSVersion.Version.Major {throw new NotSupportedException( "This program requires Windows 2000, Windows XP or Windows .NET ! ");}m_Ip = IpAddress;}public void Start(){if (m_Monitor==null){try{m_Monitor = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);m_Monitor.IOControl(SIO_RCVALL, BitConverter.GetBytes(1), null);m_Monitor.BeginReceive(m_Buffer, 0, m_Buffer.Length, SocketFlags.None, new AsyncCallback(OnReceive), null);{m_Monitor = null;throw new SocketException();}}}public void Stop(){if (m_Monitor!=null)}m_Monitor = null;}public void OnReceive(System.IAsyncResult ar){try{int received = m_Monitor.EndReceive(ar);try{if (m_Monitor!=null){byte[] pkt = new byte[received];OnNewPacket(new Packet(pkt, DateTime.Now));}}catch(Exception e)}protected void OnNewPacket(Packet p){NewPacket(this, p);}}}。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息