一、端口号概述
端口号(Port)是一种通信协议中的地址,用于标识传输层协议中的一个端点。在传输层的通信协议中,通常会将数据分割成不同的块,每个块都会标记一个端口号,以便将数据准确无误地发送到目标地址。
在Linux系统中,端口号被分为两大类:TCP端口和UDP端口。TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)都是用于数据传输的协议,TCP是一种面向连接的协议,而UDP是一种不可靠的面向数据报的协议。
通常情况下,TCP和UDP使用不同的端口号,从而使各自的任务互不影响。在Linux系统中,端口号的范围为0~65535,其中0~1023为系统保留端口,仅有root用户才能使用;1024~49151为注册端口,也称动态端口,应用程序可以自由使用;49152~65535为私有端口,仅供客户端使用。
二、TCP端口
1、常见的TCP端口号及其用途
端口号 用途
20 FTP数据传输
21 FTP控制命令
22 SSH远程登录协议
23 Telnet远程登录协议
25 SMTP邮件协议
53 DNS域名解析
80 HTTP协议
110 POP3协议
143 IMAP协议
443 HTTPS协议
465 SMTP安全协议
993 IMAP安全协议
995 POP3安全协议
2、TCP端口的使用
在Linux系统中,通过使用netstat命令可以查看当前系统中正在使用的所有端口信息,包括TCP和UDP端口。
$ netstat -an | grep "LISTEN "
该命令将显示当前系统中正在监听的所有TCP端口以及对应的进程信息。
三、UDP端口
1、常见的UDP端口号及其用途
端口号 用途
53 DNS域名解析
67 DHCP服务器
68 DHCP客户端
69 TFTP文件传输协议
123 NTP网络时间协议
2、UDP端口的使用
如果需要查看系统中正在使用的UDP端口,可以使用以下命令:
$ netstat -anu
该命令将显示当前系统中正在使用的所有UDP端口以及对应的进程信息。
四、防火墙
1、防火墙作用
防火墙(Firewall)是一种网络安全系统,用于在互联网与私有网络之间建立障碍,限制未经授权的访问和减少网络攻击的风险。
防火墙可以根据端口号控制进入或离开网络的数据流。比如,可以通过设置防火墙规则,只允许特定的TCP或UDP端口通过,从而增强网络的安全性。
2、使用iptables设置防火墙规则
# 允许SSH协议通过
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许HTTP协议通过
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许HTTPS协议通过
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 拒绝所有的TCP和UDP协议
iptables -A INPUT -p tcp -j DROP
iptables -A INPUT -p udp -j DROP
五、总结
通过本文的介绍,我们了解了Linux端口号的概念、TCP和UDP端口的区别、常用的TCP和UDP端口号以及如何使用netstat命令查看端口号信息。此外,我们还了解了防火墙的作用和如何使用iptables设置防火墙规则。掌握这些知识可以帮助我们更好地管理和保护系统的网络安全。