Linux抓包工具
tcpdump –nn –i 网卡名 host 主机ip port 端口
-wfilename:把抓到的内容抓放到一个文件里面
可以通过strings看到文件里面的东西
-c数字:指定抓包的个数
-s0:可以抓取全部的包
tshark:也可以抓包
wireshark在linux下也可以安装 yum install -y wireshark
抓包分析http请求:
tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e"http.request.method" -e "http.request.uri"
-i:指定网卡
selinux:防火墙工具
getenforce:可以查看状态
setenforce 0/1:0表示关闭,1表示开启
netfilter:防火墙
iptables:实现防火墙的工具
iptables -nvL:查看规则
不加t默认就是filter表
iptables -F:清除当前的规则(不能清除策略)stop可以都清除
iptables –Z:计数器清零
iptalbes –A:尾部添加规则
-s可以指定来源ip
-p指定协议
--dport目标端口
--sport源端口
-d指定目标ip
-j表示行为:ACCEPT(接受)/DROP(拒绝)/REJECT(选择式拒绝)
iptables –I:头部插入规则
iptables -nvL –line-number:可以看行号
然后使用iptable -D INPUT/OUTPUT 行号可以删除规则
iptables –P:设置默认规则(默认的是ACCEPT)
service iptables save 保存规则 保存的规则文件为:/etc/sysconfig/iptables
这两条都可以
service iptables stop 可以暂停防火墙,但是重启后它会读取/etc/sysconfig/iptables从而启动防火墙,另外即使我们停止防火墙,但一旦我们添加任何一条规则,它也会开启。
iptables –t:指定表名,默认不加-t则是filter表
iptables-save > 1.ipt:保存规则
filter 这个表主要用于过滤包的,是系统预设的表,内建三个链INPUT、OUTPUT以及FORWARD。INPUT作用于进入本机的包;OUTPUT作用于本机送出的包;FORWARD作用于那些跟本机无关的包。
nat 主要用处是网络地址转换、端口映射,也有三个链。PREROUTING 链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。POSTROUTING链在包就要离开防火墙之前改变其源地址。
mangle 主要用于修改数据包的TOS(Type OfService,服务类型)、TTL(Time ToLive,生存周期)值以及为数据包设置Mark标记,以实现Qos (Quality of Service,服务质量)调整以及策略路由等应用,由于需要相应的路由设备支持,因此应用并不广泛。 五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
raw 对报文设置一个标志,决定数据包是否被状态跟踪机制处理 只有两个链:OUTPUT、PREROUTING
nat表应用:
路由器就是使用iptables的nat原理实现
假设您的机器上有两块网卡eth0和eth1,其中eth0的IP为192.168.10.11,eth1的IP为172.16.10.11 。eth0连接了intnet 但eth1没有连接,现在有另一台机器(172.16.10.12)和eth1是互通的,那么如何设置也能够让连接eth1的这台机器能够连接intnet?
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth0 -j MASQUERADE
2015年4月17日
by:champly