自動化運維壓箱底的命令都在這裡了 四

2021-09-24 22:43:42 字數 4258 閱讀 9025

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...