主机扫描命令fping
批量的给目标主机发送ping请求,并行发送(ICMP)
fping安装:① wget http://fping.org/dist/fping-3.10.tar.gz
② tar -zxvf fping-3.10.tar.gz
③ cd fping-3.10 ; ./configure
④ make && make install
fping -v #测试安装是否成功
fping -h #获取帮助
fping常用参数介绍:
-a #只显示出存活的主机(相反参数-u)
① 通过标准输入方式 fping IP1 IP2
-g 支持主机段的方式 192.168.1.1 192.168.1.255 192.168.1.0/24
② 通过读取一个文件中IP内容
方式:fping -f filenamefping 10.10.140.221 10.10.140.222
fping -a 10.10.140.221 10.10.140.222
fping -a -g 10.10.140.1 10.10.140.200
fping -a -g 10.10.140.1/24
fping -u -f ./ip_list.txt
主机扫描命令hping
支持使用TCP/IP数据包组装
hping安装:① wget https://github.com/antirez/hping/archive/master.zip
② unzip master
③ cd hping-master ; ./configure (需要libpcap-devel支持 yum install libpcap-devel)
④ make && make install
依赖安装:yum install libpcap-devel
ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h
hping常用参数:
① 对目标端口发起TCP探测
-p 端口
-S 设置TCP模式SYN包
② 伪造来源IP,模拟DDOS***
-a 伪造IP地址hping -p 22 -S 10.10.163.233
hping -p 22 -S 10.10.163.233 -a 10.10.163.235
路由扫描:
查询一个主机到另一个主机经过的路由的跳数、延时情况
常用工具:traceroute、mtr
mtr特点:能测试出主机到每一个路由间的连通性
traceroute参数介绍:
yum install traceroute
① 默认使用的是UDP协议(30000以上的端口)
② 使用TCP协议 -T -p
③ 使用ICMP协议 -Itraceroute -n www.baidu.com #-n 不显示主机名
traceroute -In www.baidu.com
traceroute -T -p 80 -n www.baidu.com
mtr使用:mtr www.baidu.com
批量主机服务扫描:
典型命令:nmap、ncat
nmap命令:(yum install nmap)默认扫描端口范围0-1024
ICMP协议类型(-P)
TCP SYN扫描(-sS)TCP半开放、没有完成三次握手、不易被检测记录、通用
TCP connect()扫描(-sT)TCP全开放、完成三次握手
UDP扫描(-sU)nmap -sP 10.10.140.0/24
nmap -sS 10.10.163.233
nmap -sS -p 0-30000 10.10.163.233 #指定端口范围0-30000
nmap -sT -p 0-30000 10.10.163.233
nmap -sU 10.10.163.233
ncat工具使用:
-w设置超时时间 -z一个输入输出模式 -v显示命令执行过程
① 基于TCP协议(默认)nc -v -z -w2 10.10.250.254 1-50 #1-50端口范围
② 基于UDP协议-unc -v -u -z -w2 10.10.250.254 1-50
预防策略
常见的***方法:
① SYN*** ② DDOS*** ③ 恶意扫描
SYN***:
利用TCP协议缺陷进行
DDOS***:
分布式访问拒绝服务***
① 减少发送SYN+ACK包时重试次数(临时设置,永久需要写入配置文件)sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3
② SYN cookies 技术sysctl -w net.ipv4.tcp_syncookies=1
③ 增加backlog队列sysctl -w net.ipv4.tcp_max_syn_backlog=2048
关闭ICMP协议请求:sysctl -w net.ipv4.icmp_echo_ignore_all=1
通过iptables防止扫描iptables -A FORWARD -p tcp -syn -m limit -limit 1/s -limit-burst 5 -j ACCEPT
iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m limit -limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT