A、内核参数,B、防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping。
A、内核参数
[root@centos7 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all 0 //(0表示允许,1表示禁止)。
或者echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
但上面配置的这种方式只是临时的,只对当前会话有用,当重启之后,就恢复了。长期生效,在以后的重启后都能够使服务器的ping不能够应答。配置方式如下,在/etc/sysctl.conf文件中增加以下命令行:net.ipv4.icmp_echo_ignore_all = 1,或echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.conf生效sysctl -p。
B、防火墙(注:此处的方法的前提是内核配置是默认值,也就是没有禁止Ping) 这里以Iptables防火墙为例。
允许PING设置
检测版本iptables -V
iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT 或者也可以临时停止防火墙操作的。 service iptables stop
禁止PING设置
把刚才那两条规则删除掉即可,删除通过-D来删除,新增是通过-A来新增。
iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j DROP
注:–icmp-type 8, echo request 表示回显请求(ping请求)
0/0 表示所有 IP
恢复
[root@localhost ~]# iptables -D OUTPUT -p icmp –icmp-type echo-reply -j DROP
[root@localhost ~]# iptables -D INPUT -p icmp –icmp-type echo-request -j DROP
如果Linux中已经安装了CSF防火墙。可以使用CSF禁用传入ping很容易。请按以下步骤操作。
注:如果未安装CSF防火墙,需要先安装才能执行以下命令。
(1),修改csf配置文件(/etc/csf/csf,conf)。增加以下命令
(1),修改csf配置文件(/etc/csf/csf,conf)。增加以下命令
ICMP_IN = “0”
(2),修改完之后,保存。接着重新启动 CSF 和 LFD 以更新更改。
[root@localhost ~]#/etc/init.d/csf restart
[root@localhost ~]#/etc/init.d/lfd restart
[root@localhost ~]#csf -r
csf 是国外一家小公司开发的 linux 系统免费防火墙,它基于 iptables 工作,能有效缓解站群服务器压力,具有自动遮蔽暴力破解密码 IP、管理开放埠、免疫轻量 DDos 和 CC 等等功能,同时,安装和使用也极为简便,在我们常用的 DA 和 CP 面板还有图形化操作介面,也支援个人普通使用者安装于 LNMP 环境下使用。
执行以下步骤安装:
rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
检测 iptalbes 模组:
perl /etc/csf/csftest.pl
如果之前安装了 APF,请解除安装 sh /etc/csf/remove_apf_bfd.sh
执行完毕,您的 csf 就安装上了。以上的安装步骤适用于 LNMP 环境以及 DA、CP 面板下。
LNMP 环境下可能需要依赖包:yum install perl-libwww-perl perl iptables
linux ping命令:用于测试网络主机ICMP请求回应
ping选项
ping
-c # # 执行次数
-w # #测试执行时长
-s # 指定ping包大小单位字节
-f # 尽所能每秒钟ping最多的数据包,可以当ping攻击使用
ping测试某网段在线主机脚本
!/bin/bash
net=”192.168.5″
for i in {1..254};do
{ if ping -c 1 -w 1 $net.$i &> /dev/null ;then
echo $net.$i >> /tmp/ip.txt
fi; } & # { }&把任务放入后台执行,相当于执行了并行任务,提高效率
done
wait # wait可以让后台任务执行结束后退出
sort -nt’.’ -k1,1 -k2,2 -k3,3 -k4,4 /tmp/ip.txt >>/tmp/ip_sort.txt #按ip地址大小顺序排序
备注:通过并行任务执行ping测试,测试192.168.5.X网段的在线主机,并将在线主机放入/tmp/ip.txt文件,然后进行排序,将排序后的结果放到/tmp/ip_sort.txt文件
补充window ping命令的使用
ping ip,测试网络的连通情况
直接ping ip地址或网关,min/max/avg统计最短/最长/平均耗时
icmp_seq=1 packets顺序号
bytes=64;time<1ms;TTL=64 这些是什么意思。
bytes值:数据包大小,也就是字节。
time值:响应时间,这个时间越小,说明你连接这个地址速度越快。
TTL值:Time To Live,表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。可以通过Ping返回的TTL值大小,粗略地判断目标系统类型是Windows系列还是UNIX/Linux系列。
默认情况下,Linux系统的TTL值为64或255,WindowsNT/2000/XP系统的TTL值为128,Windows98系统的TTL值为32,UNIX主机的TTL值为255。
因此一般TTL值:
100~130ms之间,Windows系统 ;
240~255ms之间,UNIX/Linux系统。
ping -t的使用
不间断地Ping 指定计算机,直到管理员中断,Ctrl+c终止
ping -a的使用
ping -a ip解析计算机名与NetBios名。就是可以通过ping它的ip地址,可以解析出主机名。
ping -n的使用
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如想测试发送10个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知。
ping -l size的使用
-l size:发送size指定大小的到目标主机的数据包。
默认的情况下Windows的ping发送的数据包大小为32byte,最大能发送65500byte。当一次发送的数据包大于或等于65500byte时,将可能导致接收方计算机宕机。所以微软限制了这一数值;这个参数配合其它参数以后危害非常强大,比如攻击者可以结合-t参数实施DOS攻击。(所以它具有危险性,不要轻易向别人计算机使用)。
例如:ping -l 65500 -t 10.133.137.33
ping -r count的使用
在“记录路由”字段中记录传出和返回数据包的路由,探测经过的路由个数,但最多只能跟踪到9个路由。
ping -n 1 -r 9 202.102.224.22 (发送一个数据包,最多记录9个路由)
批量Ping网段
对于一个网段ip地址众多,在命令行窗口输入:
for /L %D in (1,1,255) do ping 10.168.1.%D
代码中的这个(1,1,255)就是网段起与始,就是检测网段192.168.1.1到192.168.1.255之间的所有的ip地址,每次逐增1,直接到1到255这255个ip检测完为止。
for /L … in …
/L可以写成小写字母的/l,为了和数字1区分,建议用大写的字母L。
/L表示迭代变量,在给定的起点、步长、终点迭代数据。
for命令的格式:for /L %%Variable in (Start#,Step#,End#) do Command
使用迭代变量设置起始值 (Start#),然后逐步执行一组范围的值,直到该值超过所设置的终止值 (End#)。/L 将通过对 Start# 与 End# 进行比较来执行迭代变量。如果 Start# 小于 End#,就会执行该命令。
显示当前目录及子目录下的所有以.exe结尾的文件名
@echo off
for /r %%i in (*.exe) do @echo %%i
pause
显示当前目录及子目录的所有目录名
@echo off
for /r %%i in (.) do @echo %%i
pause
/d只会检索当前目录下的所有目录,但/r可以以递归的方式检索所有目录

发表回复
要发表评论,您必须先登录。