Linux中如何关掉ping服务

论坛 期权论坛 脚本     
已经选择匿名的用户   2021-10-25 13:35   3832   0
ping命令产生“ICMP echo request”包。ICMP代表Internet Control Messaging Protocol,系统没有专门的守护进程来负责ICMP echo应答,应答包是由内核直接产生的。

如果要阻止系统产生应答包,可以利用ipfwadm或者ipchains工具,在您的包过滤表里加一条记录。

当然,您的系统要配置成支持包过滤。大多数Linux发布缺省就具有了该功能,例如,在Linux 2.2内核中使用ipchains:

ipchains -A output -p icmp --icmp-type pong -j DENY

-A 表示是添加(append)模式,将规则加到output链条后面。-p 表示协议类型是ICMP其后--icmp-type说明icmp协议的子类型为pong,pong是 echo-reply的缩写。-j 表示将继续匹配包的动作。DENY说明拒绝该包。

在旧版Linux 2.0内核中可以使用ipfwadm工具:ipfwadm -I -a deny -P icmp -S 0.0.0.0/0 0 ,可读性要稍差一点。

注意,关闭ICMP echo应答不是好的办法,而关闭所有的ICMP包则更糟。这将会破坏系统TCP/IP模块的一些行为。一些包如“destination unreachable”,“fragmentation needed when DF option set”被关闭将会使TCP/IP性能严重下降。ipchains到Linux 2.4将被Netfilter(IPTables)取代。

白东注:关于关闭ping响应的方法,更好的方法请参见这篇文章中的方法《理解 Proc 文件系统》。比这里的方法要好的多

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:86
帖子:240
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP