netstat
命令英語顯示各種網路相關資訊,如網路連線、路由表介面狀態(inte***ce statistics),masquerade連線,多播成員(multicast memberships)等等。
[root@vagrant-centos65 ~]# netstat
常用引數:
-l:僅列出有在 listen(監聽)的服務狀態
-r:顯示路由資訊,路由表
-e:顯示擴充套件資訊,例如 uid 等
-s:按各個協議進行統計
-c:每隔乙個固定時間,執行該 netstat 命令
注:listec 和 listening 的狀態只有用 -a 或者 -l 才能看到
用法如下:
# netstat -a 列出所有埠
# netstat -at 列出所有 tcp 埠
# netstat -au 列出所有 udp 單口
# netstat -l 只顯示監聽埠
# netstat -lt 只列出所有監聽 tcp 埠
# netstat -lu 只列出所有監聽 udp 埠
# netstat -lx 之列吃所有監聽 unix 埠
# netstat -s 顯示所有埠的統計資訊
# netstat -st 顯示 tcp 埠的統計資訊
# netstat -sc 顯示 udp 埠的統計資訊
# netstat -pt
# netstat -r
# netstat -ap | grep ssh
# netstat -an | grep ':80'
# netstat -i
ss
即 socket state,也就是說,是可以檢視系統中 socket 的狀態的,我們可以用netstat
的,但為什麼還要用ss
這個工具呢?當然ss
自然有它的優點,當我們開啟的 socket 數量很多時,netstat
就會變得很慢。
netstat是遍歷/proc下面每個pid目錄,ss直接讀/proc/net下面的統計資訊。所以ss執行的時候消耗資源以及消耗的時間都比netstat少很多
[root@vagrant-centos65 ~]
# ss -h
usage: ss [ options ]
ss [ options ]
[ filter ]
-h, --help this message
-v, --version output version information
-n, --numeric don't resolve service names
-r, --resolve resolve host names
-a, --all display all sockets
-l, --listening display listening sockets
-o, --options show timer information
-e, --extended show detailed socket information
-m, --memory show socket memory usage
-p, --processes show process using socket
-i, --info show internal tcp information
-s, --summary show socket usage summary
-4, --ipv4 display only ip version 4 sockets
-6, --ipv6 display only ip version 6 sockets
-0, --packet display packet sockets
-t, --tcp display only tcp sockets
-u, --udp display only udp sockets
-d, --dccp display only dccp sockets
-w, --raw display only raw sockets
-x, --unix display only unix domain sockets
-f, --family=family display sockets of type family
-a, --query=query, --socket=query
query :=
[,query]
-d, --diag=file dump raw information about tcp sockets to file
-f, --filter=file read filter information from file
filter :=
[ state tcp-state ]
[ expression ]
常用的ss
命令
ss -l 顯示本地開啟的所有埠
ss -pl 顯示每個程序具體開啟的socket
ss -t -a 顯示所有tcp socket
ss -u -a 顯示所有的udp socekt
ss -s 列出當前socket詳細資訊
ss -o state established '( dport = :http or sport = :http )' 列出所有http連線中的連線
ss src address_pattern 使用ip位址篩選
ss dport op port 埠篩選
op:是運算子
port:表示埠
dport:表示過濾目標埠、相反的有sport
op運算子如下:
<= or le : 小於等於
>= or ge : 大於等於
== or eq : 等於
!= or ne : 不等於埠
< or lt : 小於這個埠 > or gt : 大於埠
lsof
(list open files)是乙個列出當前系統開啟檔案的工具。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體。所以,lsof
的功能很強大。一般 root 使用者才能執行lsof
命令,普通使用者可以看見/usr/sbin/lsof
命令,但是普通使用者執行會顯示「permission denied」。因此通過lsof
工具能夠檢視這個列表對系統監測以及排錯將是很有幫助的。
# yum -y install losf
在終端下輸入lsof
即可顯示系統開啟的檔案,因為lsof
需要訪問核心記憶體和各種檔案的身份,來執行它才能夠充分地發揮其功能。即需要 root 許可權
[root@vagrant-centos65 ~]
# lsof
用法:lsof abc.txt 顯示開啟檔案abc.txt的程序
lsof directory 查詢誰在使用檔案目錄系統
lsof -i:22 查詢22埠被哪個程序占用
lsof -c abc 顯示abc程序現在開啟的檔案
lsof -g gid 顯示歸屬gid的程序情況
lsof -p 12 看程序為12的程序開啟了哪些檔案
lsof -u username 檢視使用者開啟了哪些檔案
lsof -i @192.168.1.111 檢視遠端已開啟的網路連線(連線到192.168.1.111)
自動化運維壓箱底的命令都在這裡了 一
ls 顯示檔案或目錄 l 列出檔案詳細資訊l list a 列出當前目錄下所有檔案及目錄,包括隱藏的a all mkdir 建立目錄 p 建立目錄,若無父目錄,則建立p parent cd 切換目錄 touch 建立空檔案 echo 建立帶有內容的檔案。cat 檢視檔案內容 cp 拷貝 mv 移動或...
自動化運維壓箱底的命令都在這裡了 五
root vagrant centos65 cut d 分隔字元 f fields root vagrant centos65 cut c 字元範圍 引數 d 後面接分隔字元,與 f 一起使用 f 依據 d 分隔字元將一段資訊切割成為數段,用 f 去除第幾段的意思 c 以字元 characters ...
自動化運維工具 ansible系列命令
列出所有已安裝的galaxy ansible galaxy list 安裝galaxy ansible galaxy install geerlingguy.redis 刪除galaxy 推送命令至遠端,效率無線提公升,對運維要求較高管理加密解密yml檔案ansible vault create d...