先谢慕课网/** * linux系统扫描技术 * * 主机扫描、路由扫描、批量服务扫描、系统安全策略(防SYN和ddos攻击) */ /** * 主机扫描 * ping fping hping * * fping * fping安装 * 下载: * (mkdir /Services && cd /Services) * wgget http://www.fping.org/dist/fping-3.13.tar.gz * 解压: * tar -zxvf ./fping-3.13.tar.gz * 安装: * cd fping-3.13 * ./configure * make * make install * * fping参数 * -h * -a 只显示出存活的主机 * -u 只显示出不存活的主机 * -g 支持主机段的方式 * -f 支持文件的方式 * * fping +IP1 + IP2 * fping -g 192.168.1.1 192.168.1.255 * fping -g 192.168.1.1/24 * fping -f filename * fping -a -g 120.77.140.1 120.77.140.10 > alive.log * * * hping * icmp包被屏蔽时,用hping,支持TCP/IP数据包组装 * hping安装 * 下载: * wget https://github.com/antirez/hping/archive/master.zip * 解压: * unzip master.zip * 安装: * error: pcap.h: No such file or directory ->需要依赖包(pcap) * yum list |grep pcap * yum -y install "*pcap*" * error: net/bpf.h: No such file or directory->找不到bpf.h * find / -name bpf.h * ln -sf /usr/include/pcap/bpf.h /usr/include/net/bpf.h * /usr/bin/ld: cannot find -ltcl->需要安装ltcl * yum list |grep tcl * yum -y install "*tcl*" * ./configure * make * make strip * make install * * hping参数 * 对特定目标发起tcp探测 * -p 端口 探测目标主机的端口 * -S 设置TCP模式 SYN包 * -a 伪造ip 伪造来源IP,模拟ddos攻击 * * hping -p 22 -S 121.43.156.66 * ping 121.43.156.33 * 可以ping通, * 连接上121.43.156.66:sysctl -w net.ipv4.icmp_echo_ignore_all=1 禁ping * 再次通过hping和ping发现ping不通了但是hping还是可以通的。 * * 在121.43.156.66上通过tcpdump -np -ieth1 src host 120.76.140.88抓取120.76.140.88发送过来的包 * hping -p 22 -S 121.43.156.66 -a 121.76.140.88 */ /** * 路由扫描 * 查询一个主机到另一个主机经过的路由跳数,及数据延迟情况 * tracert ntr * mtr能测试出一个主机到每一个路由间的连通性 * * tracerout * 默认已经安装的 * 1.默认使用的是UDP协议(30000以上的读研口) * 2.使用TCP协议 -T -P * 3.使用ICMP协议 -I * * traceroute www.baidu.com * traceroute -n www.baidu.com * traceroute -T -p 80 -n www.baidu.com * * mtr * 默认已经安装 * mtr www.baidu.com * loss项 * * 查看路由跳数,丢包情况。 */ /** * 批量主机服务扫描 * 目的:批量主机存活扫描、针对主机服务扫描 * 能快捷获取网络中主机的存活状态 * 更加细致、只能获取主机服务侦查情况 * nmap ncat * * nmap * -P ICMP协议类型 ping扫描 * -sS TCP SYN扫描 TCP半开放扫描 * -sT TCP connect()扫描 TCP全开放扫描 * -sU UDP扫描 UDP协议扫描 * * nmap -sP 120.76.140.1/24 主机段扫描,查看存活的主机 * name -sS 120.76.140.1/24 没有建立三次握手,只发送SYN包 * * nmap -sS 121.43.156.66 查看主机开启的端口(通常扫描到1024及常用端口) * nmap -sS -p 0-30000 121.43.156.66 指定扫描端口范围 * * nmap -sT -p 0-30000 121.43.156.66 建立全握手,模拟真实的用户请求 * * nmap -sU 121.43.156.66 有效透过防火墙,但是比较慢 * * ncat * 安全测试的工具 * -w 设置超时时间 * -z 一个输入输出模式 * -v 显示命令执行过程 * * * yum -y install nc * 方式一、基于tcp协议(默认) * nc -v -z -w2 121.43.156.66 1-50 * 方式二、基于udp协议-u * nc -v -u -z -w2 121.43.156.66 1-50->要等待很久 */ /** * 预防策略 * 常见的攻击方法:SYN攻击、DDOS攻击、恶意扫描 * * SYN攻击: * 利用TCP协议缺陷,导致系统服务停止,网络带宽跑满或者响应缓慢 * 攻击的机器伪造一个源IP(hping -a),目标机器回应给伪造IP,增加记录到backlog,但是目标机器无法获得第三次响应, * 会不断重试,一直处于等待,backlog无法删除,导致带宽跑满等问题。 * 1.增加backlog队列长度 * 2.调节重试的次数 * 3.拒绝第三次握手 * DDOS攻击: * 分布式访问拒绝服务(多个访问,海量访问导致服务响应不过来) * * (永久生效需要修改/etc/sysctl.config文件,减少到3次) * 方式一:减少发送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 * 这个值和内存有关。 * * 其他预防策略 * 1.关闭icmp协议请求 * sysctl -w net.ipv4.icmp_echo_ignore_all=1 * 2.通过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 * (iptables后续) */
时间: 2024-10-29 09:31:25