1. 程式人生 > >通訊協議_埠

通訊協議_埠

埠(Port),邏輯意義上用於區分服務,埠號的範圍從0到65535。

埠分類:

公認埠,從0到1023,繫結與一些常見服務,FTP服務->埠21,在/etc/services中儲存對映關係。

註冊埠,從1024到49151,離散的繫結服務;

動態/私有埠,用於任意軟體與任何其他的軟體通訊的埠,使用因特網傳輸控制協議,或使用者傳輸協議,從49152到65535。

本地TCP/UDP埠範圍:

/proc/sys/net/ipv4/ip_local_port_range,可在此中,為程式選擇埠。

概念:

指定機器上的埠開發,以便提供服務,需要服務的程式傳送資料包到指定機器(ip)的埠。

一個ip可以提供不同的服務,如Web,Ftp...這些不同服務,通過ip地址+埠號來區分;

檢視本地開放埠:

#1.nmap檢測開放埠
yum install nmap
nmap localhost

#2.netstat檢測開放埠
netstat -anlp | grep 埠號

#3.lsof檢測開放埠
yum install lsof
lsof -i:埠號

#4.telnet檢測埠開放
#Telnet是基於TCP的,預設埠是23。
#伺服器埠即使處於監聽狀態,但是如果防火牆iptables遮蔽了23埠,是無法通過該方法檢測埠是否開放。
telnet ip地址 埠號

#5.netcat檢測埠開放
nc ip地址 埠號

關閉埠:

只需關閉埠對應的服務即可;

即使服務開啟,但是防火牆對對應的埠進行了限制,這樣埠也不能被訪問,但埠本身並沒有關閉,只是埠被遮蔽了。

開啟埠(有防火牆):

1.新增/etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

2.重啟服務:

/etc/init.d/iptables restart

3.3.檢視埠是否開放:

/sbin/iptables -L -n