先谢慕课网
/**
* 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后续)
*/

Linux_09------Linux上系统扫描和安全策略的更多相关文章

  1. linux上如何安装postgresql

    安装对应的postgresql的yum源 rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64 ...

  2. Linux系统扫描技术及安全防范

    1.概述 一.主机扫描 二.路由扫描 三.批量服务扫描 四.linux防范恶意扫描安全策略 一个典型的网络安全事件 ·案例:通过网络扫描方式获取某运营商核心设备管理权限 step01:通过tracer ...

  3. 安卓手持智能POS端上能扫描开单的软件-店面销售开单系统

    安卓移动POS终端上能扫描开单的软件: 一.登录验证,以业务员.密码登录: 二.订单列表,显示相关信息,包括日期.单据号.客户名.金额.单据状态.有新增订单及按特定条件查询订单的功能(日期.客户等). ...

  4. Linux Centos 系统上安装BT客户端 Transmission

    Linux Centos 系统上安装BT客户端 Transmission   Transmission是一种BitTorrent客户端,特点是一个跨平台的后端和其上的简洁的用户界面,以MIT许可证和G ...

  5. 如何在 Linux 上复制文件/文件夹到远程系统?

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...

  6. Linux CentOS系统上安装Eclipse

    Linux CentOS系统上安装Eclipse 1. 下载Eclipse软件 下载网址:http://www.eclipse.org/downloads/packages/release/Juno/ ...

  7. sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用

    12. sar 找出系统瓶颈的利器 sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行 ...

  8. [apue] Linux / Windows 系统上只能建立不超过 PATH_MAX / MAX_PATH 长度的路径吗?

    问题的提出 在处理文件系统路径的时候,我们一般会先开辟一块内存区,用来接收路径.或者拼接好路径传递给系统调用.这是因为路径在各个系统上都有最大长度限制,在 Windows 上这个值是 MAX_PATH ...

  9. 如何在 Windows 和 Linux 上确定系统使用的是 MBR 分区还是 GPT 分区详细步骤!!!

    在 Windows 上检查系统使用的是 MBR 分区还是 GPT 分区 点击放大镜搜索输入disk 点击打开 进入之后,右键点击你想要检查分区方案的磁盘,在右键菜单里选择属性! 在属性窗口,切换到卷, ...

随机推荐

  1. [翻译]lpeg入门教程

    原文地址:http://lua-users.org/wiki/LpegTutorial 简单匹配 LPeg是一个用于文本匹配的有力表达方式,比Lua原生的字符串匹配和标准正则表达式更优异.但是,就像其 ...

  2. find 命令的参数详解

    使用name选项 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用. 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来.不管当前路径是什么,如果想要在自 ...

  3. Egit Patch

    Git为我们提供了Patch功能,Patch中包含了源码更改的描述,能够应用于其他Eclipse工作空间或者Git仓库.也就是说,可以将当前提交导出至其他分支或者项目中. 举个例子,项目A.B中使用了 ...

  4. HDU 1536 sg函数

    S-Nim Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  5. HDFS介绍

    一.HDFS概述 1.HDFS设计思想来源于Google的GFS,是GFS的开源实现. 2.HDFS要解决的问题: -存储超大文件,比如TB级别 -防止文件丢失. 3.HDFS的特点 -可以存储超大文 ...

  6. (转)分布式深度学习系统构建 简介 Distributed Deep Learning

    HOME ABOUT CONTACT SUBSCRIBE VIA RSS   DEEP LEARNING FOR ENTERPRISE Distributed Deep Learning, Part ...

  7. AsyncTask 轻量级的异步类

    初步:http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html 详细:http://blog.csdn.net/liuhe68 ...

  8. 单例设计模式getInstance()

    对象的实例化方法,也是比较多的,最常用的方法是直接使用new,而这是最普通的,如果要考虑到其它的需要,如单实例模式,层次间调用等等.   直接使用new就不可以实现好的设计好,这时候需要使用间接使用n ...

  9. ASP.NET获取IP的6种方法 ( 转)

    原文转自:http://www.cnblogs.com/blodfox777/archive/2008/07/21/1247447.html 服务端: //方法一 HttpContext.Curren ...

  10. testNG设置测试的执行顺序

    在java类中,设置Test的执行顺序可以使用priority,或者enabled等属性.但是在testng.xml中,需要设置它的 preserve-order="true" 另 ...