netstat (查看端口)
使用方法:
netstat -lnp (查看監聽端口,以及此端口用於那個服務)
netstat -an (查看端口在與哪個IP,哪個端口進行通訊,以及現在的狀態)
netstat -an |grep 192.168.111.129:80 |grep -ic ESTAB (查看一秒內與80端口通信的連接的和)
tcpdump (抓包)
安裝tcpdump
使用方法:
tcpdump -nn (-nn選項可將域名轉換為IP,將端口也轉換為數值)
tcpdump -nn -c 100 (抓100個包)
tcpdump -nn -i eth1 (抓指定網卡eth1的包)
tcpdump -nn port 22 (抓指定端口22的包)
tcpdump -nn tcp/udp and port 80 and host 211.157.132.91 (可以抓tcp或者udp的包,也可以用and連接,抓指定的端口和指定的主機地址)
tcpdump -nn -s0 tcp and port 22 and host 192.169.111.128 -w 1.cap (-w將包內容寫入文件,-s0抓包的全部內容;將抓到的包以二進制格式寫入到1.cap文件中)
抓到的包可用tcpdump -r 1.cap命令查看數據包的流向
用專業的二進制讀取軟件可查看到1.cap文件中抓到的包的數據,如包是圖片則能看到該圖片
tshark
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"
selinux (防火牆)
getenforce (查看selinux當前狀態)
setenforce (在selinux處於enforcing狀態下時,開啟和關閉selinux)
setenforce 0 (關閉)
setenforce 1 (開啟)
iptables (防火牆)
包含三張表:mangle、nat、filter
iptables -t filter -nvL (查看filter表下有哪些鏈,filter表主要是做包過濾)
iptables -t filter -I INPUT -p tcp --drop 80 -s 192.168.111.123 -j DROP (針對filter表的插入規則INPUT包,協議為tcp的,對80端口,host
iptables -P INPUT ACCEPT (將filter表中的INPUT鏈默認規則改為ACCEPT)為192.168.111.123的包進行過濾,過濾出來後直接扔掉,如果想要拒絕或接受,則為-j REJECT/ACCEPT)
iptables -t filter -A INPUT -p tcp --drop 80 -s 192.168.111.123 -j DROP (-A與-I選項的區別為-A添加到最下面,-I添加到最上面;最上面的規則最先生效)
iptables -nvL (查看filter表下的規則)
iptables -t filter -D INPUT -p tcp --drop 80 -s 192.168.111.123 -j REJECT (-D刪除filter表中的這個規則)
iptables -t nat -nvL (查看nat表下有哪些鏈)
iptables -t mangle -nvL (查看mangle表下有哪些鏈)
iptables -Z (重置filter表中的計數器)
iptables -t nat -Z (重置nat表中的計數器)
iptables -F (清空filter表中的所有規則)
service iptables save (保存iptables規則)
iptables-save > 1.ipt (將iptables規則備份到1.ipt文件中)
iptables-restore < 1.ipt (將備份的iptables規則恢復)
#!bin/bash
##iptables練習題
iptables -F
iptables -P INUPT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT --dport 80 -p tcp -j ACCEPT
iptables -A INPUT --dport 21 -p tcp -j ACCEPT
filter;nat;mangle表的作用
filter
內建三個鏈INPUT、OUTPUT以及FORWARD。INPUT作用於進入本機的包;OUTPUT作用於本機送出的包;FORWARD作用於那些跟本機無關的包。
nat
使用nat表實現路由器的功能
mangle
給包做標記,再對包進行操作