netstat基本用法的介紹

5. 獲取進程名、進程號以及用戶 id

查看端口和連接的信息時,能查看到它們對應的進程名和進程號對系統管理員來說是非常有幫助的。舉個栗子,apache 的 httpd 服務開啟80端口,如果你要查看 http 服務是否已經啟動,或者 http 服務是由 apache 還是 nginx 啟動的,這時候你可以看看進程名。

使用 -p 選項查看進程信息。

  1. ~$ sudo netstat nlpt

  2. Active Internet connections (only servers)

  3. Proto RecvQ SendQ Local Address Foreign Address State PID/Program name

  4. tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1144/dnsmasq

  5. tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 661/cupsd

  6. tcp6 0 0 ::1:631 :::* LISTEN 661/cupsd

使用 -p 選項時,netstat 必須運行在 root 權限之下,不然它就不能得到運行在 root 權限下的進程名,而很多服務包括 http 和 ftp 都運行在 root 權限之下。

相比進程名和進程號而言,查看進程的擁有者會更有用。使用 -ep 選項可以同時查看進程名和用戶名。

  1. $ sudo netstat ltpe

  2. Active Internet connections (only servers)

  3. Proto RecvQ SendQ Local Address Foreign Address State User Inode PID/Program name

  4. tcp 0 0 enlightened:domain *:* LISTEN root 11090 1144/dnsmasq

  5. tcp 0 0 localhost:ipp *:* LISTEN root 9755 661/cupsd

  6. tcp6 0 0 ip6localhost:ipp [::]:* LISTEN root 9754 661/cupsd

上面列出 TCP 協議下的監聽套接字,同時顯示進程信息和一些額外信息。

這些額外的信息包括用戶名和進程的索引節點號。這個命令對網管來說很有用。

注意 – 假如你將 -n-e 選項一起使用,User 列的屬性就是用戶的 ID 號,而不是用戶名。

??

Netstat 簡介

Netstat 是一款命令行工具,可用于列出系統上所有的網絡套接字連接情況,包括 tcp, udp 以及 unix 套接字,另外它還能列出處于監聽狀態(即等待接入請求)的套接字。如果你想確認系統上的 Web 服務有沒有起來,你可以查看80端口有沒有打開。以上功能使 netstat 成為網管和系統管理員的必備利器。在這篇教程中,我會列出幾個例子,教大家如何使用 netstat 去查找網絡連接信息和系統開啟的端口號。

?

1. 列出所有連接

第一個要介紹的,是最簡單的命令:列出所有當前的連接。使用 -a 選項即可。

上述命令列出 tcp, udp 和 unix 協議下所有套接字的所有連接。然而這些信息還不夠詳細,管理員往往需要查看某個協議或端口的具體連接情況。

?

編譯自:
原創:LCTT ? ? ? ? ? ? 譯者: bazz2 ? ?
本文地址:????

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享