如何编程实现丢弃ping命令的操作?

believe_me 2006-03-31 11:31:22
比如说我接收到数据报,判断如果是ping命令就丢弃这个数据包。
求助大虾,如何实现啊?
...全文
181 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluebroad 2006-04-01
  • 打赏
  • 举报
回复
处理icmp报文要用到原始套接字,比如:
m_socket=socket(AF_INET,SOCK_RAW,IPPROTO_IP);
并设置套接字属性,以自己处理ip头:
bFlag=TRUE;
if(setsockopt(m_socket,IPPROTO_IP,IP_HDRINCL,(char*)&bFlag,sizeof(BOOL))==SOCKET_ERROR)
{
MessageBox("setsockopt() IP_HDRINCL failed!");
return FALSE;
}
然后对接收到的IP包,分析它的协议字段的值,判断是否ICMP报文。
aming112 2006-03-31
  • 打赏
  • 举报
回复
正解,给分吧!
aming112 2006-03-31
  • 打赏
  • 举报
回复
ping 所产生的是ICMP报文,取数据报的头来分析,如果是ICMP报文就丢弃

18,357

社区成员

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

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