LINUX中查看端口與相應進程

LINUX中查看端口與相應進程

Standard

本文介紹了在 Linux 中查看端口占用情況的一些方法。

全程需要用到下列程序:

  1. netstat:一個命令行工具,用來顯示 網絡連接,路由表,和一些 網絡接口數據
  2. fuser:一個命令行工具,用來表示經常使用文件或者套接字
  3. lsof:一個命令行工具,用來列出當前系統打開文件的工具
    Pasted Graphic
  4. /proc/$pid:在 Linux的 /proc 目錄下包含了一個名爲 PID (PID爲所需進程對應的值)的文件,其包含每個對應PID的進程的 信息,通常,包含進程的名字和打開的端口等。。

# 注:可能需要使用 root 權限使用上述命令

netstat命令:

使用命令:
netstat -tulpn

2

# 注,如果 PID/Program name 不顯示的話,可能是權限不夠,請嘗試 sudo

使用 grep來過濾結果

• # netstat -tulpn | grep :22

3
後面的參數是指定需要顯示的一些內容,例如圖中列出了IP地址,端口號,相應進程PID等內容。

如果知道端口號,想知道對應的進程的一些信息,就可以使用下面的fuser命令

fuser 命令

查看 哪個 進程PID 佔用了 53 端口,使用命令

# fuser 53/tcp

4
# 注,同上,可能有些 進程權限不夠看不到,嘗試 sudo。

查看該 PID 對應的是哪個進程 ,使用命令:

ls -l /proc/3353/exe

5

和最上面的介紹一樣,每個進程 OS 都會在 /proc 路徑下給建立一個對應PID的文件夾,裏面存放一些進程信息,exe中即保存了名字。。
# 注,還是權限問題,然後對應 那個PID 是dnsmasq 進程,man dnsmasq 得知,該進程爲一個輕量級 DHCP 和 DNS 緩存服務器

查看 一個進程 當前的工作路徑

使用命令:

# ls -l /proc/3353/cwd 
6
或者使用 pwdx 命令:
pwdx 3353

7
查看一個 進程 的 owner
# ps aux | grep 3353

lsof 命令

查看 指定端口 的進程:
# lsof -i tcp:22 

8

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章