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

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

 localhost:~$ ping 8.8.8.2
PING 8.8.8.1 (8.8.8.2) () bytes of data.
bytes from 8.8.8.2: icmp_seq= ttl= time=0.079 ms
bytes from 8.8.8.2: icmp_seq= ttl= 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 bytes
::43.651510 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::43.651535 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id , seq , length
::44.675532 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::44.675557 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id , seq , length
::45.703558 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::45.703581 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id , seq , length
::46.723521 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::46.723552 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id , seq , length
::47.747520 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::47.747551 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id , seq , length
::48.771511 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::48.771538 IP 8.8.8.2 > 8.8.8.2: ICMP echo reply, id , seq , length

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

 localhost:~$ cat /proc/sys/net/ipv4/icmp_echo_ignore_all
 

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

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

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

 localhost:~$ ping 8.8.8.2
PING 8.8.8.2 (8.8.8.2) () bytes of data.
^C
--- 8.8.8.2 ping statistics ---
packets transmitted, received, % packet loss, time 2047ms
 localhost:~$ sudo tcpdump -i any -nn icmp     #可以看到只有request,没有replay了.
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size bytes
::32.054412 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::33.059607 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::34.083520 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::35.107526 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::36.131524 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::37.155536 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::38.179573 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::39.203568 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length
::40.227618 IP 8.8.8.2 > 8.8.8.2: ICMP echo request, id , seq , length

linux 禁ping的更多相关文章

  1. linux 禁ping本机方法

    linux 禁ping本机方法 禁ping执行:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 恢复ping 执行:echo 0 > /p ...

  2. linux 禁ping和开启ping方法

    Linux 禁ping和开启ping操作# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all如果要恢复,只要:# echo 0 > /pro ...

  3. linux禁ping与限制ip登录

    以root进入linux系统,然后编辑文件icmp_echo_ignore_allvi /proc/sys/net/ipv4/icmp_echo_ignore_all将其值改为1后为禁止PING将其值 ...

  4. Linux 禁ping和开启ping操作

    方法一:     # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果要恢复,只要: # echo 0 > /proc/sys/net ...

  5. linux禁ping和允许ping的方法

    一.系统禁止ping [root@linuxzgf ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 二.系统允许ping [root@li ...

  6. Linux禁ping

    A.临时允许PING操作的命令为:# >/proc/sys/net/ipv4/icmp_echo_ignore_all B.永久允许PING配置方法. /etc/sysctl.conf 中增加一 ...

  7. Linux禁止ping服务

    ping是一个通信协议,是ip协议的一部分,tcp/ip 协议的一部分.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.应用格式为:Ping IP地址.但服务启用ping有时 ...

  8. Linux禁止ping、开启ping设置

    Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping. 具体的配置方法如 ...

  9. centos禁ping

    Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping. 具体的配置方法如 ...

随机推荐

  1. 1如何给devexpress的gridview控件绘制全选按钮

    1 首先注册gridview的this.edibandedGridView.CustomDrawColumnHeader += EdibandedGridView_CustomDrawColumnHe ...

  2. springboot2.0集成webSocket

    WebSocket和http的区别? http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息. http链接分为短链接,长链接,短链接是每次请求都要三 ...

  3. span 如何移除点击事件

    //设置点击事件不可用 $("#verificode").css("pointer-events", "none"); //倒计时完毕,点击 ...

  4. MySQL授权远程用户登录权限

    1 举例子,建数据库,然后 赋予用户远程访问的所有权限,最后刷新权限 create database cmf DEFAULT CHARACTER SET utf8; grant all on cmf. ...

  5. Android 计算器制作 2.注册View 构建函数

    鄙人新手 整了 快两天 终于搞定了.. 1.首先是MainActivity 中 在Oncreate函数中 注册 2.按+ 或者 - 号 来分成两大字符串 s1 和 s2 再将s2 分为更小的s1 和 ...

  6. 【JAVASCRIPT】call和apply的用法以及区别

    function add(c,d){ return this.a + this.b + c + d; } var s = {a:"鸡", b:"你"}; con ...

  7. 3.Fech_feed

    import tensorflow as tf # Fetch:可以在session中同时计算多个tensor或执行多个操作 # 定义三个常量 input1 = tf.constant(3.0) in ...

  8. 网络协议相关面试问题-TCP与IP网络模型

    互联网应用的实现主要是通过分层来实现的,每一层有自己相应的功能,上层依赖于下层,具体层次如下图: 下面具体一层层来了解: 物理层 / 实体层: 也就是将电脑通过物理的手段连接起来,其实也就是01电子信 ...

  9. kotlin默认参数和具名参数

    纯语法操练,这里先定义一些数学计算公式,顺便来复习复习,如下: 然后编写测试代码来调用下它们: 编译运行: 但是!!!对于这四个函数都有一个参数是pi: 而实际上它是一个常量,可以手动给它定义一个默认 ...

  10. 使用google身份验证器实现动态口令验证

    最近有用户反应我们现有的短信+邮件验证,不安全及短信条数限制和邮件收验证码比较慢的问题,希望我们 也能做一个类似银行动态口令的验证方式.经过对可行性的分析及慎重考虑,可以实现一个这样的功能. 怎么实现 ...