http://keios.51.net/raw.rar
小巧的绿色命令行软件,
我写它是希望能用来方便的调试应用层协议,而不用安装其它臃肿繁琐的网络监听软件。
目前支持解析 SNMP 和 http头 。
简单的使用方法:
rawipdump -s               
rawipdump -b <本地IP地址> 
具体的参数看 -h 吧。希望网络版有人能试用并给我提些建议,谢谢!

解决方案 »

  1.   

    不会用啊. C:\>rawipdump -b 192.168.1.104 host 211.99.AA.BB 211.99.CC.DD 这样用怎么不行呀
      

  2.   

    很cool阿
    测试中
     一下
    测好了再告诉你情况
      

  3.   

    to dxj1234(Kindly⊙Wolf)
    这依赖于windows的原始套接口的实现。
    由于设置SIO_RCVALL后,可以收到所在以太冲突域中的所有IP包,
    因此可以理解为“监听网段的机器的所有IP包”。
    当然也可以根据端口过滤。
    to 3m2u(SameToYou) 
    你的这个命令行:
    C:\>rawipdump -b 192.168.1.104 host 211.99.AA.BB 211.99.CC.DD
    host 后面的 IP 地址是用点分的4个十进制数表示的,所以你用AA.BB这样的16进制是不能成功的。
    to mengxihe(濛溪河)
    开不开源,我倒是无所谓,只是不知道像这样简单的小项目,开源是否有意义?
      

  4.   

    晕啊.我写aabbccdd是表示是个地址,但是我不想写出来,不是十六进制啊.是十进制的.faint
      

  5.   

    to 3m2u(SameToYou)
    你说的不行,是什么现象?
      

  6.   

     搂主你好,我的贴子如下
      
      // 自己写的win2k sniffer 观察 tcp 连接时的 握手 情况, 数据包 次序 出错 
      http://community.csdn.net/Expert/topic/3636/3636143.xml?temp=.969784  现在 用你的 sniffer 观察 握手的 次序 ,也是这种情况
      
      实验数据如下:
      15:16:29.927  IP TCP  192.168.100.191:1750 > 192.168.100.111:445   : ....S
      seq:2331583063-2331583063 ack:0 win:44620  :15:16:29.937  IP TCP  192.168.100.191:1750 > 192.168.100.111:445   : .A...
      seq:2331583064-2331583064 ack:2415522261 win:46537  :15:16:29.937  IP TCP   192.168.100.111:445 > 192.168.100.191:1750  : .A..S
      seq:2415522260-2415522260 ack:2331583064 win:64240  :
      你的sniffer 也是  SYN  --> ACK  -->  SYN&ACK    理论顺序应该是    SYN  -->  SYN&ACK   --> ACK       请你在自己的机子上做个同样的实验 ,验证一下我的结果 ,可以吗 ? 谢谢
     
      

  7.   

    我还是写一个详细的参说说明吧。基本语法:
    rawipdump [OPTIONS] [expression]
    一定要先写-?的参数,表达式写在最后。OPTIONS:
     -b <local ip address>  绑定本地的IP地址,大家都知道原始套接口是要指定bind一个本地地址才能用的,我理解windows实际是用它来选择使用哪块网卡。
     -w <file name>         将所有收到(!!也包括被表达式滤掉的包)的包,和tcpdump -w 同样的格式保存到文件。可以用ethereal打开解析。
     -l <file name>         将屏幕打印的信息同时记录到文件。
     -s                     手动选择绑定的网卡,和 -b 不能一起使用。
     -d                     显示解包的详细内容
     -x                     当解包失败时,以16进制方式打印数据
     -X                     把所有的通过过滤的IP包的完整数据同时以16进制方式再打印一份expression(表达式),根据地址、端口、协议进行过滤:
    host a.b.c.d   只解析 IP 源地址或目的地址是 a.b.c.d 的包,这里可以写多个 IP 地址。
    ipproto TCP 或 ipprpto UDP ,表示只解析 TCP 协议或 UDP 协议。
    port N  只解析源/目的端口是 N 的包,可以写多个端口。
    上述三种表达式均是可选的,无先后顺序,不写表示无限制。
    简单的例子:
    rawipdump -b 192.168.0.1 host 61.186.252.136 ipproto tcp port 80
    监听与 61.186.252.136(csdn论坛) 之间的 http 连接
      

  8.   

    to powerbamboo(清风明月)
    哈哈,当然不敢和NAI-sniffer比啦,但是优点是不用安装任何驱动,不会破坏windows协议栈,小巧。
    缺点是不能监听ARP等二层协议,但是一般调试应用层协议时用不到。
    我写它是用来调试程序的,自我感觉还比较好用,以后会逐步完善的。
      

  9.   

    大约在2年前在www.codeproject.com看到过代码,好像叫ipmon,自己也改写了一个sniffer,后来发现在部分机器上无法完全捕获发出的包,尤其是icmp的包。
    在codeproject这段代码的评论里面,有很多人反映了这个问题。
    今天codeproject网站出了点问题,基本访问不了,本来想把链接找出来的。
      

  10.   

    你在csdn的搜索中,全文检索ipmon,可以找到很多关于这种sniffer方式的帖子。
      

  11.   

    to iq199(iq199)
    多谢你的提醒!我找到了你曾经发起的讨论:
    http://search.csdn.net/Expert/topic/2280/2280994.xml?temp=.8454553
    我想这可能和网卡的类型或者操作系统的实现有关。
    但是至少在我目前能接触到的环境,还没有发现你提到的问题,本机发出的icmp包都能接收到。
    我只想把它做为一个辅助的调试工具,如果真的遇到这样的环境,再改用NAI-sniffer也不迟:)
      

  12.   

    这不是需要winpcap的帮忙吗,win2k系统下如果不用它好不好做呀?
    请教