這篇文章主要介紹了linux中查看進(jìn)程端口命令是哪個(gè)的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇linux中查看進(jìn)程端口命令是哪個(gè)文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
創(chuàng)新互聯(lián)專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、無(wú)錫網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、無(wú)錫網(wǎng)絡(luò)營(yíng)銷(xiāo)、無(wú)錫企業(yè)策劃、無(wú)錫品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供無(wú)錫建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
查看命令有:1、ss命令,可查看進(jìn)程端口的占用情況,語(yǔ)法“ss -tnlp | grep "端口號(hào)"”;2、netstat命令,可顯示端口和進(jìn)程等相關(guān)情況,語(yǔ)法“netstat -tnlp | grep "端口號(hào)"”;3、lsof命令,可查看端口占用情況,語(yǔ)法“l(fā)sof -i tcp:端口號(hào)”;4、fuser命令,可查看端口占用情況,語(yǔ)法“fuser -v 端口號(hào)/tcp”。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
端口是 Linux 系統(tǒng)上特定進(jìn)程之間邏輯連接的標(biāo)識(shí),包括物理端口和軟件端口。由于 Linux 操作系統(tǒng)是一個(gè)軟件,因此本文只討論軟件端口。軟件端口始終與主機(jī)的 IP 地址和相關(guān)的通信協(xié)議相關(guān)聯(lián),因此端口常用于區(qū)分應(yīng)用程序。大部分涉及到網(wǎng)絡(luò)的服務(wù)都必須打開(kāi)一個(gè)套接字來(lái)監(jiān)聽(tīng)傳入的網(wǎng)絡(luò)請(qǐng)求,而每個(gè)服務(wù)都使用一個(gè)獨(dú)立的套接字。
套接字是和 IP 地址、軟件端口和協(xié)議結(jié)合起來(lái)使用的,而端口號(hào)對(duì)傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)協(xié)議都適用,TCP 和 UDP 都可以使用 0 到 65535 之間的端口號(hào)進(jìn)行通信。
以下是端口分配類(lèi)別:
0 – 1023: 常用端口和系統(tǒng)端口
1024 – 49151: 軟件的注冊(cè)端口
49152 – 65535: 動(dòng)態(tài)端口或私有端口
可以使用以下六種方法查看進(jìn)程的端口信息
ss:可以用于轉(zhuǎn)儲(chǔ)套接字統(tǒng)計(jì)信息。
netstat:可以顯示打開(kāi)的套接字列表。
lsof:可以列出打開(kāi)的文件。
fuser:可以列出那些打開(kāi)了文件的進(jìn)程的進(jìn)程 ID。
nmap:是網(wǎng)絡(luò)檢測(cè)工具和端口掃描程序。
systemctl:是 systemd 系統(tǒng)的控制管理器和服務(wù)管理器。
以下我們將找出 sshd 守護(hù)進(jìn)程所使用的端口號(hào)。
方法 1:使用 ss 命令
ss 一般用于轉(zhuǎn)儲(chǔ)套接字統(tǒng)計(jì)信息。它能夠輸出類(lèi)似于 netstat 輸出的信息,但它可以比其它工具顯示更多的 TCP 信息和狀態(tài)信息。
它還可以顯示所有類(lèi)型的套接字統(tǒng)計(jì)信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。
# ss -tnlp | grep ssh
也可以使用端口號(hào)來(lái)檢查。
# ss -tnlp | grep ":22"
方法 2:使用 netstat 命令
netstat 能夠顯示網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計(jì)信息、偽裝連接以及多播成員。
默認(rèn)情況下,netstat 會(huì)列出打開(kāi)的套接字。如果不指定任何地址族,則會(huì)顯示所有已配置地址族的活動(dòng)套接字。但 netstat 已經(jīng)過(guò)時(shí)了,一般會(huì)使用 ss 來(lái)替代。
# netstat -tnlp | grep ssh
也可以使用端口號(hào)來(lái)檢查。
# netstat -tnlp | grep ":22"
方法 3:使用 lsof 命令
lsof 能夠列出打開(kāi)的文件,并列出系統(tǒng)上被進(jìn)程打開(kāi)的文件的相關(guān)信息。
# lsof -i -P | grep ssh
也可以使用端口號(hào)來(lái)檢查。
# lsof -i tcp:22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1208 root 3u IPv4 20919 0t0 TCP *:ssh (LISTEN) sshd 1208 root 4u IPv6 20921 0t0 TCP *:ssh (LISTEN) sshd 11592 root 3u IPv4 27744 0t0 TCP vps.2daygeek.com:ssh->103.5.134.167:49902 (ESTABLISHED)
方法 4:使用 fuser 命令
fuser 工具會(huì)將本地系統(tǒng)上打開(kāi)了文件的進(jìn)程的進(jìn)程 ID 顯示在標(biāo)準(zhǔn)輸出中。
# fuser -v 22/tcp
方法 5:使用 nmap 命令
nmap(“Network Mapper”)是一款用于網(wǎng)絡(luò)檢測(cè)和安全審計(jì)的開(kāi)源工具。它最初用于對(duì)大型網(wǎng)絡(luò)進(jìn)行快速掃描,但它對(duì)于單個(gè)主機(jī)的掃描也有很好的表現(xiàn)。
nmap 使用原始 IP 數(shù)據(jù)包來(lái)確定網(wǎng)絡(luò)上可用的主機(jī),這些主機(jī)的服務(wù)(包括應(yīng)用程序名稱(chēng)和版本)、主機(jī)運(yùn)行的操作系統(tǒng)(包括操作系統(tǒng)版本等信息)、正在使用的數(shù)據(jù)包過(guò)濾器或防火墻的類(lèi)型,以及很多其它信息。
# nmap -sV -p 22 localhost
方法 6:使用 systemctl 命令
systemctl 是 systemd 系統(tǒng)的控制管理器和服務(wù)管理器。它取代了舊的 SysV 初始化系統(tǒng)管理,目前大多數(shù)現(xiàn)代 Linux 操作系統(tǒng)都采用了 systemd。
# systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2018-09-23 02:08:56 EDT; 6h 11min ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 11584 (sshd) CGroup: /system.slice/sshd.service └─11584 /usr/sbin/sshd -D Sep 23 02:08:56 vps.2daygeek.com systemd[1]: Starting OpenSSH server daemon... Sep 23 02:08:56 vps.2daygeek.com sshd[11584]: Server listening on 0.0.0.0 port 22. Sep 23 02:08:56 vps.2daygeek.com sshd[11584]: Server listening on :: port 22. Sep 23 02:08:56 vps.2daygeek.com systemd[1]: Started OpenSSH server daemon. Sep 23 02:09:15 vps.2daygeek.com sshd[11589]: Connection closed by 103.5.134.167 port 49899 [preauth] Sep 23 02:09:41 vps.2daygeek.com sshd[11592]: Accepted password for root from 103.5.134.167 port 49902 ssh3
以上輸出的內(nèi)容顯示了最近一次啟動(dòng) sshd 服務(wù)時(shí) ssh 服務(wù)的監(jiān)聽(tīng)端口。但它不會(huì)將最新日志更新到輸出中。
# systemctl status sshd ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-09-06 07:40:59 IST; 2 weeks 3 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 1208 (sshd) CGroup: /system.slice/sshd.service ├─ 1208 /usr/sbin/sshd -D ├─23951 sshd: [accepted] └─23952 sshd: [net] Sep 23 12:50:36 vps.2daygeek.com sshd[23909]: Invalid user pi from 95.210.113.142 port 51666 Sep 23 12:50:36 vps.2daygeek.com sshd[23909]: input_userauth_request: invalid user pi [preauth] Sep 23 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): check pass; user unknown Sep 23 12:50:37 vps.2daygeek.com sshd[23911]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 Sep 23 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): check pass; user unknown Sep 23 12:50:37 vps.2daygeek.com sshd[23909]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=95.210.113.142 Sep 23 12:50:39 vps.2daygeek.com sshd[23911]: Failed password for invalid user pi from 95.210.113.142 port 51670 ssh3 Sep 23 12:50:39 vps.2daygeek.com sshd[23909]: Failed password for invalid user pi from 95.210.113.142 port 51666 ssh3 Sep 23 12:50:40 vps.2daygeek.com sshd[23911]: Connection closed by 95.210.113.142 port 51670 [preauth] Sep 23 12:50:40 vps.2daygeek.com sshd[23909]: Connection closed by 95.210.113.142 port 51666 [preauth]
大部分情況下,以上的輸出不會(huì)顯示進(jìn)程的實(shí)際端口號(hào)。這時(shí)更建議使用以下這個(gè) journalctl 命令檢查日志文件中的詳細(xì)信息。
# journalctl | grep -i "openssh\|sshd"
關(guān)于“l(fā)inux中查看進(jìn)程端口命令是哪個(gè)”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“l(fā)inux中查看進(jìn)程端口命令是哪個(gè)”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。