linux怎么查看有哪些端口開放

linux查看開放端口的方法:1、使用nmap工具檢測開放端口;2、使用netstat工具檢測開放端口;3、使用lsof工具檢測開放端口;4、使用telnet檢測開放端口;5、使用netcat工具檢測開放端口。

linux怎么查看有哪些端口開放

本教程操作環境:linux5.9.8系統、Dell G3電腦。

在網絡技術中,端口(Port)包括邏輯端口和物理端口兩種類型。物理端口指的是物理存在的端口,如ADSL Modem、集線器、交換機、路由器上用 于連接其他網絡設備的接口,如RJ-45端口、SC端口等等。邏輯端口是指邏輯意義上用于區分服務的端口,如TCP/IP協議中的服務端口,端口號的范圍從0到65535,比如用于瀏覽網頁服務的80端口,用于FTP服務的21端口等。由于物理端口和邏輯端口數量較多,為了對端口進行區分,將每個端口進行了編號,這就是端口號

端口按端口號可以分為3大類:

1:公認端口(Well Known Port)

公認端口號從0到1023,它們緊密綁定與一些常見服務,例如FTP服務使用端口21,你在 /etc/services 里面可以看到這種映射關系。

2:注冊端口(Registered Ports):

從1024到49151。它們松散地綁定于一些服務。也就是說有許多服務綁定于這些端口,這些端口同樣用于許多其它目的.

3: 動態或私有端口(Dynamic and/or Private Ports)

動態端口,即私人端口號(private port numbers),是可用于任意軟件與任何其他的軟件通信的端口數,使用因特網的傳輸控制協議,或用戶傳輸協議。動態端口一般從49152到65535

Linux中有限定端口的使用范圍,如果我要為我的程序預留某些端口,那么我需要控制這個端口范圍。/proc/sys/net/ipv4/ip_local_port_range定義了本地TCP/UDP的端口范圍,你可以在/etc/sysctl.conf里面定義net.ipv4.ip_local_port_range = 1024 65000

[root@localhost?~]#?cat?/proc/sys/net/ipv4/ip_local_port_range 32768???61000 [root@localhost?~]#??echo?1024?65535?>?/proc/sys/net/ipv4/ip_local_port_range

關于端口和服務,我曾經拿公共廁所打比方,公共廁所里的每一個廁所就好比系統的每一個端口,為人解決方便就是所謂的服務,你提供了這些服務,那么就必須開放端口(廁所),當有人上廁所時,就是在這些端口建立了鏈接。如果那個廁所被人占用了,就表示端口號被服務占用了,如果有一天這里不提供公共廁所服務了,這個公共廁所被拆除了,自然也就沒有了端口號了。其實更形象的例子,就好比銀行大堂,端口號是那些柜臺,而那些取號辦理業務的人就好比鏈接到服務器的各種客戶端。他們通過端口重定向技術與柜臺發送業務聯系。再舉一個通俗易懂的例子,端口號,好比高鐵線上的每個站點,例如,長沙、岳陽等分別代表一個端口號,旅客通過火車票到各自的站點,就好比各個應用程序發往服務器端口的IP包。

如何檢查端口是否開放,其實不整理,還不知道有這么多方法!

1:nmap工具檢測開放端口

nmap是一款網絡掃描和主機檢測的工具。nmap的安裝非常簡單,如下所示rpm安裝所示。

[root@DB-Server?Server]#?rpm?-ivh?nmap-4.11-1.1.x86_64.rpm? warning:?nmap-4.11-1.1.x86_64.rpm:?Header?V3?DSA?signature:?NOKEY,?key?ID?37017186 Preparing...????????????????###########################################?[100%] ???1:nmap???????????????????###########################################?[100%] [root@DB-Server?Server]#?rpm?-ivh?nmap-frontend-4.11-1.1.x86_64.rpm? warning:?nmap-frontend-4.11-1.1.x86_64.rpm:?Header?V3?DSA?signature:?NOKEY,?key?ID?37017186 Preparing...????????????????###########################################?[100%] ???1:nmap-frontend??????????###########################################?[100%] [root@DB-Server?Server]#

關于nmap的使用,都可以長篇大寫特寫,這里不做展開。如下所示,nmap 127.0.0.1 查看本機開放的端口,會掃描所有端口。 當然也可以掃描其它服務器端口。

[root@DB-Server?Server]#?nmap?127.0.0.1 ? Starting?Nmap?4.11?(?http://www.insecure.org/nmap/?)?at?2016-06-22?15:46?CST Interesting?ports?on?localhost.localdomain?(127.0.0.1): Not?shown:?1674?closed?ports PORT?????STATE?SERVICE 22/tcp???open??ssh 25/tcp???open??smtp 111/tcp??open??rpcbind 631/tcp??open??ipp 1011/tcp?open??unknown 3306/tcp?open??mysql ? Nmap?finished:?1?IP?address?(1?host?up)?scanned?in?0.089?seconds You?have?new?mail?in?/var/spool/mail/root [root@DB-Server?Server]#

linux怎么查看有哪些端口開放

2:netstat 工具檢測開放端口

[root@DB-Server?Server]#?netstat?-anlp?|?grep?3306 tcp????????0??????0?:::3306?????????????????????:::*????????????????????????LISTEN??????7358/mysqld????????? [root@DB-Server?Server]#?netstat?-anlp?|?grep?22 tcp????????0??????0?:::22???????????????????????:::*????????????????????????LISTEN??????4020/sshd??????????? tcp????????0?????52?::ffff:192.168.42.128:22????::ffff:192.168.42.1:43561???ESTABLISHED?6198/2?????????????? [root@DB-Server?Server]#

linux怎么查看有哪些端口開放

如上所示,這個工具感覺沒有nmap簡潔明了。當然也確實沒有nmap功能強大。

3:lsof 工具檢測開放端口

[root@DB-Server?Server]#?service?mysql?start Starting?MySQL......[??OK??] [root@DB-Server?Server]#?lsof?-i:3306 COMMAND??PID??USER???FD???TYPE?DEVICE?SIZE?NODE?NAME mysqld??7860?mysql???15u??IPv6??44714???????TCP?*:mysql?(LISTEN) [root@DB-Server?Server]#?service?mysql?stop Shutting?down?MySQL..[??OK??] [root@DB-Server?Server]#?lsof?-i:3306 [root@DB-Server?Server]#

linux怎么查看有哪些端口開放

[root@DB-Server?Server]#?lsof?-i?TCP|?fgrep?LISTEN cupsd?????3153????root????4u??IPv4???9115???????TCP?localhost.localdomain:ipp?(LISTEN) portmap???3761?????rpc????4u??IPv4??10284???????TCP?*:sunrpc?(LISTEN) rpc.statd?3797?rpcuser????7u??IPv4??10489???????TCP?*:1011?(LISTEN) sshd??????4020????root????3u??IPv6??12791???????TCP?*:ssh?(LISTEN) sendmail??4042????root????4u??IPv4??12876???????TCP?localhost.localdomain:smtp?(LISTEN)

4: 使用telnet檢測端口是否開放

? ?服務器端口即使處于監聽狀態,但是防火墻iptables屏蔽了該端口,是無法通過該方法檢測端口是否開放的。

5:netcat工具檢測端口是否開放。

[root@DB-Server?~]#?nc?-vv?192.168.42.128?1521 Connection?to?192.168.42.128?1521?port?[tcp/ncube-lm]?succeeded! [root@DB-Server?~]#?nc?-z?192.168.42.128?1521;?echo?$? Connection?to?192.168.42.128?1521?port?[tcp/ncube-lm]?succeeded! 0 [root@DB-Server?~]#??nc?-vv?192.168.42.128?1433 nc:?connect?to?192.168.42.128?port?1433?(tcp)?failed:?No?route?to?host

相關推薦:《Linux視頻教程

以上就是

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