在IoT設(shè)備中查找端口對(duì)應(yīng)進(jìn)程的四種方法
2021-01-19
來(lái)源:關(guān)鍵基礎(chǔ)設(shè)施安全應(yīng)急響應(yīng)中心
我們平時(shí)在測(cè)試物聯(lián)網(wǎng)設(shè)備的時(shí)候,可能通過(guò)特殊方法獲取了當(dāng)前的設(shè)備的shell【如串口等等】。
這時(shí),我們往往需要查找該設(shè)備開(kāi)啟端口對(duì)應(yīng)的服務(wù),再對(duì)該服務(wù)進(jìn)行測(cè)試。但是在通過(guò)端口查找進(jìn)程的過(guò)程中可能會(huì)遇到一些問(wèn)題,因?yàn)槲锫?lián)網(wǎng)中的Linux系統(tǒng)往往經(jīng)過(guò)精簡(jiǎn),很多命令的參數(shù)無(wú)法使用
使用netstat
這是最常用的方法之一,Netstat可以用來(lái)顯示顯示網(wǎng)絡(luò)連接,路由表,網(wǎng)絡(luò)接口狀態(tài)等等
Netstat在桌面版或者是服務(wù)器版的Linux上使用一般沒(méi)有問(wèn)題,但是該命令在嵌入式系統(tǒng)中往往被精簡(jiǎn)
sudo netstat -tulpn
從圖中我們可以看到8000端口上運(yùn)行的服務(wù)是python
解釋一下每個(gè)參數(shù)的含義
-t 顯示tcp連接
-u 顯示udp連接
-l 顯示監(jiān)聽(tīng)的套接字
-p 顯示進(jìn)程ID和該進(jìn)程的名稱
-n 顯示數(shù)字地址
使用ss命令
ss命令可以用來(lái)顯示處于活動(dòng)狀態(tài)的套接字信息。ss命令可以用來(lái)獲取socket統(tǒng)計(jì)信息,它可以顯示和netstat類似的內(nèi)容。但ss的優(yōu)勢(shì)在于它能夠顯示更多更詳細(xì)的有關(guān)TCP和連接狀態(tài)的信息,而且比netstat更快速更高效
sudo ss -tulpn
如果netstat沒(méi)有相關(guān)參數(shù),建議師傅們?cè)囋囘@個(gè)命令
使用losf
顧名思義,losf是一個(gè)列出當(dāng)前系統(tǒng)打開(kāi)文件的工具,不過(guò)該命令在一般嵌入式Linux可能沒(méi)有
sudo lsof -i :8000
fuser
fuser命令用于報(bào)告進(jìn)程使用的文件和網(wǎng)絡(luò)套接字
sudo fuser 8000/tcp
br
如上圖所示24254即為PID
接下來(lái)通過(guò)ps命令查找進(jìn)程的詳細(xì)信息
ps -p 24254
或者也可以直接使用fuser中的-v參數(shù):
sudo fuser -v 8000/tcp