Linux使用LSOF實(shí)時(shí)監(jiān)控端口
歡迎來到藍(lán)隊(duì)云技術(shù)小課堂,每天分享一個(gè)技術(shù)小知識(shí)。
如何使用LSOF實(shí)時(shí)監(jiān)控端口
LSOF(List Open Files)是一種用于 Linux/Unix 類操作系統(tǒng)的命令行監(jiān)控工具。LSOF 命令提供有關(guān)活動(dòng)文件和當(dāng)前正在訪問它們的進(jìn)程的信息。
LSOF 命令行工具對(duì)系統(tǒng)管理員和開發(fā)人員非常有利,允許他們:
1.確定當(dāng)前正在使用特定文件或端口的進(jìn)程,這在發(fā)生端口沖突時(shí)尤其重要
2.檢測(cè)已刪除但仍被進(jìn)程打開的文件,這可能會(huì)導(dǎo)致不必要的空間消耗;LSOF 命令用于識(shí)別和解決此類情況
3.幫助有效地排除錯(cuò)誤,例如“端口已在使用中”
4.跟蹤網(wǎng)絡(luò)活動(dòng)并打開網(wǎng)絡(luò)連接以進(jìn)行監(jiān)控
5.調(diào)查文件訪問模式,有助于識(shí)別潛在的安全漏洞
接下來我們將學(xué)習(xí)如何使用LSOF命令來監(jiān)控實(shí)時(shí)端口。
LSOF 命令的基本語法
LSOF命令的語法如下:
$ lsof [選項(xiàng)] [名稱]
選項(xiàng)是與 LSOF 命令一起使用的標(biāo)志。名稱代表文件名、PID(進(jìn)程 ID)、用戶名或網(wǎng)絡(luò)文件(IPv4、IPv6)。根據(jù)提供的選項(xiàng),LSOF 命令顯示與這些名稱對(duì)應(yīng)的打開文件的列表。
使用 LSOF 命令實(shí)時(shí)監(jiān)控端口
LSOF 默認(rèn)包含在許多 Linux 系統(tǒng)中。如果尚未安裝,您必須手動(dòng)下載并安裝可用的軟件包之一。要檢查系統(tǒng)上的 LSOF 安裝,請(qǐng)使用以下命令顯示已安裝的版本:
lsof -v

需要注意的是,要以適當(dāng)?shù)臋?quán)限使用 LSOF 命令,有關(guān)進(jìn)程和網(wǎng)絡(luò)連接的一些信息可能需要提升的超級(jí)用戶權(quán)限,并且您可能需要使用“sudo”以管理權(quán)限運(yùn)行該命令。
列出網(wǎng)絡(luò)進(jìn)程信息
當(dāng)您使用“-i”選項(xiàng)運(yùn)行 LSOF 命令時(shí),它會(huì)顯示有關(guān)具有網(wǎng)絡(luò)連接的進(jìn)程的信息,例如偵聽套接字或已建立的連接。
lsof -i
上一個(gè)命令顯示有關(guān)進(jìn)程名稱 (COMMAND)、進(jìn)程 ID (PID)、用戶 (USER)、文件描述符 (FD)、連接類型 (TYPE)、本地和遠(yuǎn)程地址以及連接狀態(tài)的信息。您應(yīng)該看到以下輸出:

列出 TCP 連接
您可以根據(jù)特定條件(例如特定類型的連接或端口)過濾輸出。例如,您可以使用“l(fā)sof -i tcp”僅列出與 TCP 連接關(guān)聯(lián)的進(jìn)程。
lsof -i TCP:1-1024
上面這個(gè)命令過濾有關(guān)在 1 到 1024 的指定端口范圍內(nèi)打開 TCP 連接的進(jìn)程的信息。這對(duì)于識(shí)別哪些進(jìn)程正在使用與公共服務(wù)關(guān)聯(lián)的已知端口非常有用。

實(shí)時(shí)監(jiān)控特定端口
使用LSOF,您可以實(shí)時(shí)監(jiān)控特定端口。例如,您想要監(jiān)控端口 443 上與“HTTP”相關(guān)的進(jìn)程,該進(jìn)程每 3 秒更新一次。為此,請(qǐng)使用以下命令實(shí)時(shí)監(jiān)控端口 80:
lsof -i:443 -r3

實(shí)時(shí)監(jiān)控 SSHD 端口 22
要監(jiān)視在端口 22 上運(yùn)行的所有 SSHD 連接,請(qǐng)運(yùn)行以下命令:
lsof -i:22 -r3

您可以使用 LSOF 命令實(shí)時(shí)監(jiān)控所有網(wǎng)絡(luò)連接。例如,您想要連續(xù)運(yùn)行監(jiān)控并每 5 秒顯示一次有關(guān)網(wǎng)絡(luò)連接的實(shí)時(shí)信息。
lsof -i -r5

同樣,您也可以使用 LSOF 命令僅監(jiān)視“已建立”的連接:
lsof -i -r10|grep ESTABLISHED

通過以上內(nèi)容我們學(xué)習(xí)了如何使用 LSOF 命令實(shí)時(shí)監(jiān)控端口。該命令還可以幫助系統(tǒng)管理員和其他 Linux 用戶監(jiān)視網(wǎng)絡(luò)連接,包括所有活動(dòng)或開放的端口。我們希望這篇文檔能夠幫助您了解如何使用具有不同選項(xiàng)的 LSOF 命令并實(shí)時(shí)監(jiān)控不同的端口和進(jìn)程。
藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫可供參考,大家可自行查閱,更多技術(shù)問題,可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。
更多技術(shù)知識(shí),藍(lán)隊(duì)云期待與你一起探索。