basalloy
驱动牛犊
驱动牛犊
  • 注册日期2002-03-20
  • 最后登录2006-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1564回复:4

我快被传说中的ip包折磨死了,寻找救命稻草呀!

楼主#
更多 发布于:2002-04-30 19:55
我用passthru想看ip包的内容,看过以前各位介绍的一些方法,我便试着去做,我在PtReceive()里加入
NdisQueryBufferSafe(headerbuffer, &virtualaddress, &bufLength, 32);
然后用softice在这个函数里下了断点,跳出后,调试指令是:
d virtualaddress,然后可以在数据窗口中看见virtualaddress所指的存储区内容,不知我这种方法是否正确?该存储区内容就是数据包的内容吗?但我发现这样做观察到的数据好像并不是ip报的帧格式,即,第13,14字节并不是08,00,也不是08,06;另外,我还发现一个现象:
就是当我在PtReceive()入口处下断点,当窗口弹出后,我用如下的调试语句:
d headerbuffer ,就会看到:
0010:8147311c 24 d6 d6 fc 0e 00 00 00-32 d6 d6 fc c8 00 00 00
我发现,0xfcd6d624与0xfcd6d632之间正好差14个字节,那会不会就是
ip包的mac头存放的地址?或者仅是一种巧合?我又试着用
d fcd6d624,
发现存的数据蛮有规律的,不知是何物?并且0e就是mac长,而c8也是我接收到的包的长度(packetsize)?
请问有哪位好心人肯拉兄弟一把?我陷在这里已多时了!定当重谢!

最新喜欢:

lsq77lsq77
falwind
驱动牛犊
驱动牛犊
  • 注册日期2001-12-21
  • 最后登录2006-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-01 11:03
你的方法是没错;用SoftIce在PtReceive中设置断点完全可以看见以太帧的帧头和以太帧payload的内容。通常,如果你没有其它的上网操作(比如开qq、IE等等),你会发现大部分情况下PacketSize == LookAheadBufferSize。你可以使用dd HeaderBuffer看见以太帧头,即6字节的目的MAC地址+6字节的源MAC地址+2字节的Etype。这个HeaderBuffer就是14字节的以太帧头,不用怀疑。而且LookAheadBuffer也正好与HeaderBufferSize偏移14字节,这个LookAheadBuffer开始的一片内存里存的很可能就是IP、ARP等等的包的内容。由于PtReceive被调用的太频繁,可能你没有发现IP、ARP。如果你只想看IP包或者ARP包,不妨加上这样几句:
PUCHAR p = (PUCHAR)HeaderBuffer; //加在开头


if (*(p + 12) == 0x08 && (*(p + 13) == 0x00 || *(p + 13) == 0x06)
{
    int nouse = 0; //Set breakpoint here.
}
在那一句int nouse = 0处设个断点,就会看到封装了IP或者ARP的以太帧。

[编辑 -  5/1/02 作者: falwind]
wlrwx
驱动小牛
驱动小牛
  • 注册日期2002-04-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望11点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-01 22:43
找点RFC的文档看看吧,相信自己看文档比在这里企求别人回答好得多了

 :D :D :D
真正的浪子―――― 是掠过城市的微风,每个人都能感到他的清新,可没有人能留住...... 亦是划过天际的流星,所有人都能仰望他夺目的光芒,没有人能触及...... 风止于森林,流星损于黄土......非凡浪子归于他的最爱......
basalloy
驱动牛犊
驱动牛犊
  • 注册日期2002-03-20
  • 最后登录2006-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-07 19:53
在那有rfc的文档?
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-08 09:41
http://www.rfc-editor.org/
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
游客

返回顶部