利用原始套接字进行ICMP协议编程遇到的几个问题?(一)

newegg2002 2006-04-25 08:00:48
一 描述:

不同类型的ICMP报文有着不同的用途。对于能够进行正常通信的两个主机S(ource)和
D(estination),如果用S机PingD机,那么S机将发送一条回响请求报文(ICMP_ECHO)到D机,D机收到后,再发送一条回响应答报文(ICMP_ECHOREPLY)给S机.

二 问题

1. 以上描述仅是我个人的理解,请问是否有误,如果有误,请不吝指正.
2. 整个Ping过程中,S机发出时所携带的数据与其收到的应答报文中的数据是否一样,也即是否发生了变化?
3. 利用原始套接字在S机可以捕获到D机发送给S的响应包,但在D机却捕获不到S机发送给D的ECHO包,为什么?
4. 可不可以直接由S机发送ICMP_ECHOREPLY报文给D? 而D在捕获到数据后,剥去IP与ICMP首部后,得到的数据与S发送的数据是否一致?

问题多,有空帮兄弟看看,指点哈.
感激.....
...全文
236 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DentistryDoctor 2006-05-29
  • 打赏
  • 举报
回复
自己找到答案了?
这些最好还是看RFC了。
newegg2002 2006-05-29
  • 打赏
  • 举报
回复
没办法结贴,谁帮忙随便顶一下,,
nuaawenlin 2006-05-29
  • 打赏
  • 举报
回复
1,基本是这样的,有一些操作还需要加入一些其它的内容
2,不一致,至少是回应码不一样,对于不同的请求,还有一些差别,具体看RFC
3,因为原始套接字捕获的是到达该ip获端口的数据,不能捕获从这个ip获端口出去的数据
可以使用写NDIS驱动获得,或者使用HOOK
4,当然可以,只不过这是非法的,黑客都这么做
newegg2002 2006-04-25
  • 打赏
  • 举报
回复
期待....

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧