linux 禁ping

今天用nmap扫描了局域网的主机,发现几个主机开着好多危险端口,做linux的,对这些安全知识有一点了解.遂用nmap扫描了自己的主机是否存在可利用端口.发现每次nmap都能成功的检测我的主机是alive状态.nmap功能强大,作为一个小小的个人主机,咱是无能为力禁止nmap发现主机了.但是咱可以禁止ping.让手段不高的人发现不了主机.

1.首先,linux没有禁止ping的情况下,能够平通自己的主机:

1 localhost:~$ ping 8.8.8.2
2 PING 8.8.8.1 (8.8.8.2) 56(84) bytes of data.
3 64 bytes from 8.8.8.2: icmp_seq=1 ttl=64 time=0.079 ms
4 64 bytes from 8.8.8.2: icmp_seq=2 ttl=64 time=0.080 ms
localhost:~$ sudo tcpdump -i any -nn icmp    用tcpdump 检测的效果
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
11:27:43.651510 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8389, seq 68, length 64
11:27:43.651535 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id 8389, seq 68, length 64
11:27:44.675532 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8389, seq 69, length 64
11:27:44.675557 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id 8389, seq 69, length 64
11:27:45.703558 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8389, seq 70, length 64
11:27:45.703581 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id 8389, seq 70, length 64
11:27:46.723521 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8389, seq 71, length 64
11:27:46.723552 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id 8389, seq 71, length 64
11:27:47.747520 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8389, seq 72, length 64
11:27:47.747551 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id 8389, seq 72, length 64
11:27:48.771511 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8389, seq 73, length 64
11:27:48.771538 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id 8389, seq 73, length 64

2.linux系统运行起来后,用参数控制主机是否接收icmp协议(ping通过icmp协议来进行主机发现),这些参数加载到内存中,linux系统的/proc 目录就是内存的镜像,可以从/proc系统通过查找 /proc/sys/net/ipv4/icmp_echo_ignore_all 查看目前的主机是否禁用icmp协议,0表示没有禁用,就是说其他主机ping当前主机的时候,当前主机作出回应.1表示禁用ping,其他主机ping当前主机的时候,当前主机不回应.

1 localhost:~$ cat /proc/sys/net/ipv4/icmp_echo_ignore_all
2 0

3.之后,用root权限修改 /etc/sysctl.conf文件,添加一行

 1 localhost:$ sudo vi /etc/sysctl.conf
 2 .......
 3 ......
 4 net.ipv4.icmp_echo_ignore_all = 1     #添加该行
 5
 6
 7 :wq   #保存退出
 8
 9 localhost:~$ sudo sysctl -p          #执行着一条命令,使刚才的修改生效
10 net.ipv4.icmp_echo_ignore_all = 1    #sysctl.conf 文件中生效的配置
11
12
13 localhost:~$ cat /proc/sys/net/ipv4/icmp_echo_ignore_all     #再次查看该配置,现在已经禁用icmp协议回复ping了
14 1

4.在ping自己的主机看看,看到无法回复ping了.

1 localhost:~$ ping 8.8.8.2
2 PING 8.8.8.2 (8.8.8.2) 56(84) bytes of data.
3 ^C
4 --- 8.8.8.2 ping statistics ---
5 3 packets transmitted, 0 received, 100% packet loss, time 2047ms
 1 localhost:~$ sudo tcpdump -i any -nn icmp     #可以看到只有request,没有replay了.
 2 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 3 listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
 4 11:31:32.054412 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 1, length 64
 5 11:31:33.059607 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 2, length 64
 6 11:31:34.083520 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 3, length 64
 7 11:31:35.107526 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 4, length 64
 8 11:31:36.131524 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 5, length 64
 9 11:31:37.155536 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 6, length 64
10 11:31:38.179573 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 7, length 64
11 11:31:39.203568 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 8, length 64
12 11:31:40.227618 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id 8605, seq 9, length 64
时间: 2024-10-16 09:34:25

linux 禁ping的相关文章

linux禁ping和允许ping的方法

一.系统禁止ping [[email protected] ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 二.系统允许ping [[email protected] ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all 此上两条命令的效果实时生效,可以用另外的机器ping来测试是否生效. --------------------------------------------------

Linux 禁ping和开启ping操作

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果要恢复,只要: # echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 即可,挺方便,不要去专门使用ipchains或者iptables了. 或者用以下方法也可以,异曲同工 以root进入Linux系统,然后编辑文件icmp_echo_ignore_all vi /proc/sys/net/ipv4/icmp_echo_ignore_all 将

Linux禁ping

本次实验使用Redhat 7.3环境 ping命令可以检查网络是否连通,帮助我们检查排查网络故障,但也很容易被不法分子利用,Linux系统是默认开启ping的 首先用本机ping一下这台虚拟机看看 我们可以正常ping通这台虚拟机 配置内核参数 1.首先打开/etc/sysctl.conf配置文件 2.在结尾添加net.ipv4.icmp_echo_ignore_all=1(0).(=0时是允许ping,=1时是禁止) 开启配置策略.使用命令sysctl -p 现在可以看到,策略已经生效了.接下

linux服务器禁ping

[[email protected] ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all 查看icmp_echo_ignore_all的值   0是允许ping   1是禁止ping 修改为icmp_echo_ignore_all的值为1  这个只是在内存生效,重启就恢复0 [[email protected] ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all 然后ping下这

如何设置linux服务器禁ping?

有时候我们需要将服务器设置成禁ping模式,那么如何实现?其实很简单! 以root身份修改/proc/sys/net/ipv4/icmp_echo_ignore_all文件即可. 其值默认为0,代表可ping 将其值改为1,表示禁ping 那么我来修改一下: vim  /proc/sys/net/ipv4/icmp_echo_ignore_all 保存时提示: 怎么会这样? 查阅文档得知,如果想修改他的数值可以echo 0 或 1到这个文件.上篇介绍过/proc文件系统.知道proc/sys/n

linux服务器禁ping和开启ping功能

centos7系统 临时修改 echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 1 表示禁ping 0 表示开启ping 或者: sysctl -w net.ipv4.icmp_echo_ignore_all=1 1 表示禁ping 0 表示开启ping 永久生效 修改配置文件/etc/sysctl.conf vim /etc/sysctl.conf net.ipv4.icmp_echo_ignore_all=1 保存退出,sysctl -p

Linux服务器禁ping与开启ping

修改 /proc/sys/net/ipv4/icmp_echo_ignore_all   内容为 1 禁止ping  内容为0 开启ping. sysctl -w net.ipv4.icmp_echo_ignore_all=1    这条命令的效果同上 如图: 还有另外一种使用iptables进制ping. iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP   ping 命令工作的是 发送一个ICMP请求报文交给目的IP,然后目的IP回

Linux禁止ping以及开启ping的方法

Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping. 具体的配置方法如下: A.内核参数设置 1.允许PING设置 A.临时允许PING操作的命令为:#echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all B.永久允许PING配置方法. /etc/sysctl.conf 中增加一行            net.ipv4.ic

【linux 禁止ping设置】Linux下禁止ping最简单的方法

ping是一个通信协议,是ip协议的一部分,tcp/ip 协议的一部分.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.应用格式为:Ping IP地址.但服务启用ping有时候会造成很多麻烦. 因此有时候根据需要(如防止攻击),Linux服务器管理员可限制服务器禁止其它用户Ping.同时又保证Linux服务器又可以Ping其它服务器. 下面介绍linux下最简单的禁ping方法 首先登陆服务器终端之间执行:echo 1 > /proc/sys/net/ipv4/icmp