有知道如何控制ICMP协议的吗?比如别人ping 你时不回应信息。

knight_z 2001-07-16 02:46:05
有知道如何控制ICMP协议的吗?比如别人ping 你时不回应信息。
...全文
296 点赞 收藏 35
写回复
35 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
knight_z 2001-08-21
table(天刹孤星)我还是要感谢的,这么多答案里你的还算有点分量,但是就我的感觉,
用Socket 好象是不太可能,正如你说的,只能偷窥不能截获。
既然不能控制,偷窥了数据又有多大用处呢?

回复
五行擒拿术 2001-08-20
呵呵,不好意思,我刚刚试了一下,好像是不能从网络堆栈中清除数据,你只能得到ip数据包,而不能截获它。ip包仍然会被系统接收到。还有待研究。
回复
五行擒拿术 2001-08-20
我们一般使用的内部网络都是以太网络,如果你使用的是共享集线器(就是hub)的话,它会把网络中的所有数据包都发送到每一个计算机,然后由计算机自己来选择属于自己的数据包,不属于自己的,就抛弃。所以,理论上,在以太网络中的计算机,可以接收到网络中的所有数据包。当然,如果使用交换机就不一样了。交换机是把每一个数据包,送给指定计算机,这不是讨论的范围了。

刚刚扯远了,至于怎么接收到ping数据包呢?这样看你的系统,如果你是Win9X的,很遗憾,如果要使网络转成混沌(promiscuous)状态,可能要写VXD来调用网络底层的功能。如果是WinNT/2000,很好,你可以使用Winsock 2的一个控制函数,WSAIoctl( )把 一个原始Socket句柄设置成SIO_RCVALL,就可以接受所有的IP数据包了。很显然,ICMP是IP的上层协议,所以,你也能接受到ICMP包。而且,你看了上面关于以太网的资料,应该知道,你不但可以接收到自己的所有ip包,而且还可以收到你的这个以太网络中的所有数据包,至于怎么处理,就看你自己的了。Linux下就更好办了,网络功能非常强。

给个Winsock 2下的例子

hRawSock = socket( AF_INET , SOCK_RAW , IPPROTO_IP ) ;
申请一个原始Socket句柄,使用ip协议。

WSAIoctl( hRawSock , SIO_RCVALL , &dwBfInLen, sizeof(dwBufferInLen), &dwBufferLen, sizeof(dwBufferLen),&dwBytesReturned , NULL , NULL ) );
转成接受所有数据。

就可以了。


回复
study_vc 2001-08-20
好象是用winsocket能解决的
回复
五行擒拿术 2001-08-20
我来说一下吧。
回复
knight_z 2001-08-20
这个问题也讨论了许久了,但是我还是没有得到答案。
回复
wxbhlj 2001-08-20
我以前的一个同事就能屏蔽一个IP,让这个IP不能访问他的机器,至于怎么做的,他不告诉我,真可气!!pk!!!
回复
wxbhlj 2001-08-20
学习!期待答案......
回复
crystal_zsp 2001-08-20
Table :
我现在正在想办法接受数据包。有消息和我联系。
Thank you !

e-mail : shupingzhang@263.net
回复
darksky 2001-08-11
大家想写防火墙呀。。
:)

我也学习学习
回复
kekeke 2001-08-11
我想应该是比较容易实现的:

在ping的源代码里面有个recvfrom,我想应该是在里面处理收到的ICMP包的。。
回复
vcsongs 2001-08-05
关注
回复
wintenko 2001-08-05
关注
回复
111222 2001-08-05
截获和截取的意义还不一样

截获只是获得报文的一份copy

截取才能实现修改报文
回复
shiyutao2010 2001-08-05
关注
回复
cnss 2001-08-04
学习
回复
knight_z 2001-07-31
看来这个问题的分数不够啊,我会加分的,一定。
回复
111222 2001-07-30
我也像截获IP包,这在WIN9X/NT下做起来很费劲....up
回复
knight_z 2001-07-30
如果我知道怎么截获所有IP包,我就不问了,呵呵。
回复
wjyasd 2001-07-18
天网可以完成这个功能 ! 可是程序怎么实现呢?
回复
加载更多回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-07-16 02:46
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……