Linux之網(wǎng)絡管理(8)網(wǎng)絡監(jiān)控工具
創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為萊州企業(yè)提供專業(yè)的成都網(wǎng)站設計、成都做網(wǎng)站,萊州網(wǎng)站改版等技術服務。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
linux中有很多查看網(wǎng)絡、進程通信狀態(tài)的查看工具,而網(wǎng)絡之間建立通信是通過soket套接字進行的,所謂套接字,就是相當于插座,而一臺主機上會產(chǎn)生多種套接字,就是相當于插頭向插座插入的過程,也就是主機中進程通信。而在網(wǎng)絡中建立通信,就是雙方各種插入對方。當然這些只是粗率的比喻,實際上,soket是用來將tcp/udp等協(xié)議發(fā)送的數(shù)據(jù)包進行封裝:也就是相當于食品包裝,把數(shù)據(jù)包加上port端口號、進程號等然后發(fā)送給對方,然后對方根據(jù)數(shù)據(jù)的包裝袋來放回特定需要的數(shù)據(jù)。這樣網(wǎng)絡之間各種進程直接通信之間互不干擾。就像送快遞和收快遞的一樣,誰的快遞,誰來收,路線就是到你家。
linux中提供的工具:
netstat 命令
man 文檔幫助的說明:
netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
打印網(wǎng)絡連接、路由表、接口統(tǒng)計、偽裝連接、多播連接等信息。
選項介紹:
netstat [option]...
-r : 顯示路由表
-t : 已經(jīng)建立的tcp協(xié)議相關
-u : 已經(jīng)建立的udp協(xié)議相關
-w :raw sokect (未包裝處理的)
-l : 處于監(jiān)聽狀態(tài)
-a : 所有狀態(tài)
-n : 及數(shù)字顯示IP和端口
-e : 擴展方式詳細更多狀態(tài)信息
-p : 顯示相關進程及PID
常用組合使用:
查明網(wǎng)絡連接:
netstat -tan 顯示所有tcp相關的連接狀態(tài)
netstat -uan 顯示所有udp相關的連接狀態(tài)
netstat -tnl 顯示所有監(jiān)聽狀態(tài)的tcp連接
netstat -unl 顯示所有監(jiān)聽狀態(tài)的udp連接
顯示路由表:
netstat -rn 不做反向解析顯示內(nèi)核路由表
顯示接口統(tǒng)計數(shù)據(jù):
netstat -i #顯示所有網(wǎng)絡接口信息狀態(tài)
netstat -I=FACE_NAME #顯示指定設備信息狀態(tài)
例子:netstat -I=eth0 #顯示eth0設備數(shù)據(jù)連接狀態(tài)信息
ss命令
ss - another utility to investigate sockets
這是另一種顯示套接字信息的工具,netstat命令通過遍歷proc來獲取socket信息,以及是老舊的命令了,ss使用netlink與內(nèi)核tcp_diga模塊通信獲取socket信息,更加準確。
格式及選項介紹:
ss[option] [FILTER]
option:
-t :tcp協(xié)議相關
-u :udp協(xié)議相關
-w : 裸套接字符相關
-x :unix sock系統(tǒng)內(nèi)核相關
-l :listen監(jiān)聽狀態(tài)的連接
-a : 所有連接
-n : 數(shù)字格式
-p : 相關的程序及PID
-e : 擴展的信息
-m : 內(nèi)存用量
-o : 計時器信息
FILTER : = [ state TCP-STATE ] [ EXPRESSION ]
TCP的標準狀態(tài):
LISTEN :監(jiān)聽
ESTABLISHED:已建立的連接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED關閉
EXPRESSION:
dport =#目標端口
sport = #源端口
例子:’( dport = :ssh or sport = :ssh )’
常用組合:
ss -tan#所有tcp連接狀態(tài)
ss -tanl #所有監(jiān)聽的tcp狀態(tài)
ss -tanlp #所有監(jiān)聽tcp的并顯示進程PID
ss -uan #所有udp狀態(tài)
額外用法:
ssh -A QUERY#查看對應類型或協(xié)議的狀態(tài),QUERY參數(shù)為要指定的類型
QUERY:
all, inet, tcp, udp, raw, unix, packet, netlink, unix_dgram, unix_stream,
unix_seqpacket, packet_raw, packet_dgram.
TCP-STATE中可用的標示符參數(shù):
所有TCP標準狀態(tài)參數(shù):
established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed,
close-wait, last-ack, listen, closing.
復雜狀態(tài)參數(shù):
all 所有的狀態(tài)
connection 所有連接的(除了監(jiān)聽和關閉的)狀態(tài)
synchronized 所有同步的,除了syn-sent所有連接的狀態(tài)
bucket 所有維護scokect和syn-recv的狀態(tài)
big 所有和bucket相反的狀態(tài)
案例展示:
顯示本地打開的所有端口 ss -l
[root@localhost www]# ss -l | tail -n 10
解析:udp是沒有狀態(tài)的,所以打開的連接會顯示兩個協(xié)議所有處于監(jiān)聽狀態(tài)連接
顯示每個進程具體打開的 socket。
[root@localhost www]# ss -pl | tail -n 10
顯示所有tcp socket
[root@localhost www]# ss -t -a
顯示所有UDP Socekt
[root@localhost www]# ss -u -a
顯示所有已經(jīng)建立的SMTP連接
[root@localhost www]# ss -o state established '( dport = :smtp or sport = :smtp )'
顯示所有已經(jīng)建立的HTTP連接
[root@localhost www]# ss -o state established '( dport = :http or sport = :http )'
找出所有連接X服務器的進程
[root@localhost www]# ss -x src /tmp/.X11-unix/*
列出當前各協(xié)議的各套接字個數(shù)
[root@localhost www]# ss -s
文章標題:Linux之網(wǎng)絡管理(8)網(wǎng)絡監(jiān)控工具
本文地址:http://chinadenli.net/article8/gisdip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站制作、電子商務、微信公眾號、營銷型網(wǎng)站建設、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)