iptables是linux下的防火墙,得好好学习。渗透学习。
渗透学习
1、主机发现与端口扫描
nmap
nmap [扫描类型…] [通用选项] {扫描目标说明}
|
|
扫描10-254这段ip的主机,-p为扫描端口
-sS :TCP同步扫描(TCP SYN),因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。
-sN :秘密扫描,有时可以骗过防火墙
-v :冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。
-p :如-p1-65535,扫描每台主机的1-65535端口
-A :详细扫描
netdiscover
netdiscover [通用选项] [ip]
-p :被动扫描(贼慢)
扫描一个子网段
当然还有其他的扫描工具啦。etc
2、dos
hping3
|
|
向192.168.0.50主机80端口发起dos攻击,将自己ip伪装成10.10.10.1
伪造IP地址的简单的SYN洪水攻击――使用HPING3的DoS
-a –rand-source : 使用随机性的源头IP地址。
nping
|
|
iptables
iptables -A INPUT -j DROP
屏蔽所有ip
参考:https://esebanana.github.io/page/2/
iptables
iptables是netfilter的基本框架,即liunx发行版下的防火墙,其实就是过滤数据包。
举个栗子: 当Internet来了一个主机,想要进入主机。这时,会先经过iptables的规则,检查通过则接受(accept),否则,就会丢弃(drop)。iptables的规则是有顺序的,从开始配置,若是某一条匹配成功,则执行这条规则,后面的规则都不会执行。当所有的规则都不匹配,则丢弃(drop).
iptables的策略
一般分为两种策略: “通”策略(定义只有指定ip能访问)和”堵”策略(所有的都能访问,但是有身份认证)
因为iptable有许多的规则,所有我们定义了许多的表(table),每个表的规则都不一样。比如filter,nat,mangle
数据包中允许或者不允许进入本机——filter(过滤器)
地址转换的功能的则是——nat(地址转换)
修改报文原数据的标志位——mangle(数据包修改QOS)
iptables常见的表
每个表中有许多的规则链
filter(过滤器)——主要用于防火墙INPUT
:处理输入数据包规则链OUTPUT
:处理输出数据包规则链FORWARD
:将来到本机的数据包转发到其它主机(这里与nat有关)的规则链
nat(地址转换)PREROUTING
:地址转换前的规则POSTROUTING
:地址转换后的规则OUTPUT
: 与发送出去的数据包有关
mangle(修改数据包)
mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由。
最常用的是filter表,我们的主要学习对象
iptables命令
语法
iptables (选项) (参数)
iptables命令选项输入顺序:
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
一些动作
|
|
添加规则(如:屏蔽ip)
|
|
删除规则
|
|
限定某个ip登录ssh
|
|
更改所有来自192.168.1.0/24的数据包的源ip地址为1.2.3.4(nat地址转化)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 1.2.3.4
查看的iptables规则
iptables -nL --line-number