Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menyemak port mana yang dibuka di Linux

Bagaimana untuk menyemak port mana yang dibuka di Linux

青灯夜游
青灯夜游asal
2022-03-02 15:21:5226781semak imbas

Cara menyemak port terbuka dalam Linux: 1. Gunakan alat nmap untuk mengesan port terbuka 2. Gunakan alat netstat untuk mengesan port terbuka 3. Gunakan alat lsof untuk mengesan port terbuka; telnet untuk mengesan port terbuka 5. Gunakan alat netcat untuk mengesan port terbuka.

Bagaimana untuk menyemak port mana yang dibuka di Linux

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.

Dalam teknologi rangkaian, port termasuk port logik dan port fizikal. Port fizikal merujuk kepada port sedia ada secara fizikal, seperti antara muka pada Modem ADSL, hab, suis dan penghala yang digunakan untuk menyambung ke peranti rangkaian lain, seperti port RJ-45, port SC, dsb. Port logik merujuk kepada port yang digunakan untuk membezakan perkhidmatan dalam erti kata yang logik, seperti port perkhidmatan dalam protokol TCP/IP Nombor port berjulat dari 0 hingga 65535, seperti port 80 untuk menyemak imbas perkhidmatan web dan port 21 untuk perkhidmatan FTP. . Oleh kerana bilangan port fizikal dan port logik yang banyak, untuk membezakan port, setiap port dinomborkan, iaitu nombor port

Port boleh dibahagikan kepada 3 kategori utama mengikut nombor port:

1: Port terkenal

Nombor port yang terkenal berkisar dari 0 hingga 1023. Mereka terikat dengan beberapa perkhidmatan biasa. /etc/services perhubungan pemetaan ini.

2: Pelabuhan Berdaftar:

dari 1024 hingga 49151. Mereka terikat secara longgar dengan beberapa perkhidmatan. Maksudnya, terdapat banyak perkhidmatan yang terikat pada port ini, dan port ini juga digunakan untuk banyak tujuan lain

3: Dinamik dan/atau Pelabuhan Peribadi (Dinamik dan/atau Pelabuhan Peribadi)

.

Port dinamik, Nombor port peribadi ialah bilangan port yang boleh digunakan oleh mana-mana perisian untuk berkomunikasi dengan mana-mana perisian lain, menggunakan Protokol Kawalan Penghantaran Internet atau Protokol Pengangkutan Pengguna. Port dinamik biasanya daripada 49152 hingga 65535

Linux mempunyai julat penggunaan port yang terhad Jika saya ingin menempah port tertentu untuk program saya, maka saya perlu mengawal julat port ini. /proc/sys/net/ipv4/ip_local_port_range mentakrifkan julat port TCP/UDP setempat Anda boleh mentakrifkan 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

Mengenai port dalam /etc/sysctl.conf. perkhidmatan, saya pernah menggunakan analogi tandas awam Setiap tandas di tandas awam adalah seperti setiap pelabuhan sistem dibuka Apabila seseorang pergi ke tandas, pautan diwujudkan di pelabuhan ini. Jika tandas itu diduduki oleh seseorang, bermakna nombor pelabuhan itu diduduki oleh perkhidmatan Jika satu hari tiada perkhidmatan tandas awam di sini dan tandas awam dirobohkan, sudah tentu tiada nombor pelabuhan. Malah, contoh yang lebih jelas adalah seperti lobi bank Nombor port adalah kaunter, dan orang yang mengambil nombor untuk mengendalikan perniagaan adalah seperti pelbagai pelanggan yang dipautkan ke pelayan. Mereka menghantar hubungan perniagaan dengan kaunter melalui teknologi pengalihan pelabuhan. Untuk memberikan satu lagi contoh yang mudah difahami, nombor pelabuhan adalah seperti setiap stesen di laluan kereta api berkelajuan tinggi. Contohnya, Changsha, Yueyang, dll. masing-masing mewakili nombor pelabuhan masing-masing melalui tiket kereta api. iaitu seperti setiap aplikasi yang dihantar ke paket IP Port.

Bagaimana untuk menyemak sama ada port dibuka Sebenarnya, saya tidak tahu bagaimana untuk menyemak sama ada terdapat begitu banyak kaedah!

1: Alat nmap mengesan port terbuka

nmap ialah alat imbasan rangkaian dan pengesan hos. Pemasangan nmap adalah sangat mudah seperti yang ditunjukkan di bawah untuk pemasangan 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]#

Mengenai penggunaan nmap, anda boleh membacanya dengan panjang lebar dan dekat, jadi saya tidak akan mengembangkannya di sini. Seperti yang ditunjukkan di bawah, nmap 127.0.0.1 menyemak port yang dibuka pada mesin ini dan mengimbas semua port. Sudah tentu, port pelayan lain juga boleh diimbas.

[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]#

Bagaimana untuk menyemak port mana yang dibuka di Linux

2: Alat netstat mengesan port terbuka

[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]#

Bagaimana untuk menyemak port mana yang dibuka di Linux

Seperti di atas Seperti yang ditunjukkan, alat ini terasa kurang ringkas dan jelas daripada nmap. Sudah tentu, ia tidak sekuat nmap.

3: lsof tool mengesan port terbuka

[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]#

Bagaimana untuk menyemak port mana yang dibuka di 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: Gunakan telnet untuk mengesan sama ada port adalah Terbuka

Walaupun port pelayan berada dalam keadaan mendengar, tetapi firewall iptables menyekat port, adalah mustahil untuk mengesan sama ada port dibuka melalui kaedah ini.

5: Alat netcat menyemak sama ada port dibuka.

[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

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci Bagaimana untuk menyemak port mana yang dibuka di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn