请给点思路,谢谢

解决方案 »

  1.   

    C#无法直接做到,调用API不如用C++写
      

  2.   

    C#可以做到的.
    http://www.codeproject.com/csharp/HSSniffer.asp
    这是一个C#写的嗅探器.希望对你有帮助.
      

  3.   

    谢谢,现在遇到新的问题,我用socket绑定本机的某一个断口时出现'本机策略权限不允许操作'的提示(NT环境),但在家里本地是可以的
      

  4.   

    拦截和嗅探是两个概念,拦截是阻止数据包进一步传递,嗅探只是获取数据包的一份拷贝,而数据包本身还是会继续传递。嗅探相对要简单得多,如果只是嗅探第三层以上数据,用原始套接字就可以,如果嗅探物理包,可以使用winpcap驱动,codeproject.com上有.net包装的类库。至于拦截的话,我看c#估计不太可行,起码我没见过类似的例子,一般都是拦截本机发送或者接受的数据包,拦截其他两台机器互相通信的数据包,基本是不可能,能做到的只是嗅探,不过你的机器如果是做代理服务器就另当别论了。
      

  5.   

    拦截基本不可能,如果要嗅探也得有条件,如果终端的接入设备是交换机的话,那就没戏了,如果是hub还是可以的
      

  6.   

    装个防火墙就好喽,何必自己开发呢?
    用MS 的ISA不错