linux 如何查看服务和端口
問:我該如何發(fā)現(xiàn)哪種服務正在某個特定端口上監(jiān)聽呢?我如何發(fā)現(xiàn)哪一個程序正在一個特定端口上監(jiān)聽呢?
答:在*NIX系統(tǒng)中,你可以使用下面的任何一個命令來得到在一個特定TCP端口上監(jiān)聽的列表。
Lsof:其功能是列示打開的文件,包括監(jiān)聽端口。
netstat :此命令象征性地展示各種與網絡有關的數(shù)據和信息的內容。
Lsof命令示例
你可以輸入下面的命令來查看IPv4端口:
# lsof -Pnl +M -i4
你可以輸入下面的命令來查看IPv6協(xié)議下的端口列示:
# lsof -Pnl +M -i6
此例輸出:
???
????
??? 這里我們不妨解釋一 下。第一欄是command,它給出了程序名稱的有關信息。請注意標題的細節(jié)。例如,第二行的gweather* 命令從美國 NWS服務器(140.90.128.70)獲取天氣的報告信息,包括交互天氣信息網絡和其它的天氣服務。在這里,我們解釋一下命令各個參數(shù)。
1. -P :這個選項約束著網絡文件的端口號到端口名稱的轉換。約束轉換可以使lsof運行得更快一些。在端口名稱的查找不能奏效時,這是很有用的。
2. -n : 這個選項約束著網絡文件的端口號到主機名稱的轉換。約束轉換可以使lsof的運行更快一些。在主機名稱的查找不能奏效時,它非常有用。
3. -l :這個選項約束著用戶ID號到登錄名的轉換。在登錄名的查找不正確或很慢時,這個選項就很有用。
4. +M :此選項支持本地TCP和UDP端口映射程序的注冊報告。
5. -i4 :僅列示IPv4協(xié)議下的端口。
6. -i6 : 僅列示IPv6協(xié)議下的端口。
Netstaty命令舉例
請輸入下面的命令:
# netstat -tulpn
或者是
# netstat -npl
請看輸出結果::
| ?Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:6881 0.0.0.0:* LISTEN 6908/python tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5562/cupsd tcp 0 0 127.0.0.1:3128 0.0.0.0:* LISTEN 6278/(squid) tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 5854/exim4 udp 0 0 0.0.0.0:32769 0.0.0.0:* 6278/(squid) udp 0 0 0.0.0.0:3130 0.0.0.0:* 6278/(squid) udp 0 0 0.0.0.0:68 0.0.0.0:* 4583/dhclient3 udp 0 0 0.0.0.0:6881 0.0.0.0:* 6908/python |
請注意,最后一欄給出了關于程序名稱和端口的信息。在這里,我們解釋一下各參數(shù)的含義:
-t : 指明顯示TCP端口
-u : 指明顯示UDP端口
-l : 僅顯示監(jiān)聽套接字(所謂套接字就是使應用程序能夠讀寫與收發(fā)通訊協(xié)議(protocol)與資料的程序)
-p : 顯示進程標識符和程序名稱,每一個套接字/端口都屬于一個程序。
-n : 不進行DNS輪詢(可以加速操作)
關于/etc/services文件
/etc/services是一個純ASCII文件,它可以提供互聯(lián)網服務的友好文本名稱,還有其默認分配的端口號和協(xié)議類型。每一個網絡程序都要進入這個文件得其服務的端口號(和協(xié)議)。你可以借助于cat命令或less命令等來查看這個文件:
?$ cat /etc/services
$ grep 110 /etc/services
$ less /etc/services
轉載于:https://www.cnblogs.com/balaamwe/archive/2011/12/07/2279314.html
總結
以上是生活随笔為你收集整理的linux 如何查看服务和端口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rhel6 HA
- 下一篇: oracle-25031安装错误分析解决