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