天天看點

Linux之檢視開放端口

  在網絡技術中,端口(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

這裡介紹幾種常用檢測伺服器開放端口的方式:

  1:nmap工具檢測開放端口

yum -y install nmap      

  使用較為簡單:  

[root@VM_0_6_centos ~]# nmap 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2020-02-15 21:21 CST
Nmap scan report for VM_0_6_centos (127.0.0.1)
Host is up (0.0000050s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
3000/tcp open  ppp
8383/tcp open  m2mservices
9000/tcp open  cslistener
9001/tcp open  tor-orport

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds      

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      

3:lsof 工具檢測開放端口

[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)      

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

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

[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      

繼續閱讀