网络端口: 传输层协议TCP 和 UDP与各种应用层协议进行通信是的通道! TCP和UPD协议的数据报文头部都用一个16位的域存放 端口号 & 源端口号 ,其最大值65535 端口的使用: a) 某程序监听某个端口,等待户机发送数据包到这个端口;一旦端口获取数据,应用程序将会做出反应。 b) 通过某个端口,也可以主动发送数据包到其他计算机。
1. 查看端口是否打开
# 1.lsof(list open files) :列出当前系统打开文件的工具
lsof -i:8080 # 端口被哪个进程占用
lsof -i:port1-port3 # 查看1-3的端口运行情况
lsof -p pid # 查看进程打开哪些文件
lsof -g gid # 显示归属gid的进程情况
lsof -c abc # 查看abc进程,现在打开的文件
lsof -u userName # 查看指定用户打开了哪些文件
2. 查看netstat的状态
# 1.查看所有开启的端口
netstat -aptn
# 2.查看所有tcp协议的端口
netstat -ntpl
# 3.查看所有的udp协议
netstat -nupl
3.netcat检查连接
# 采用nc进行配置
# 格式: nc -vv IP port -- 只显示该IP:port 是否处于正常状态(succeeded:成功, Connection refused:连接拒绝)
nc -vv 192.168.80.30 16379
# 格式:nc -z IP port; echo $? -- 判断IP地址的某端口是否有误(0:无误, 1:有误)
nc -z 192.168.80.30 23306; echo $?
4.NMAP工具
# NAMP扫描开放端口和服务
nmap 192.168.80.30 -- 不加任何参数,访问主机下开放的端口还有服务名称
nmap -sT www.github.com -- 使用-sT参数尝试不同目标主机的每个TCP端口建立连接、观察有哪些端口处于开放状态还有所运行的哪些服务
nmap -sT 192.168.80.30
nmap -sU www.newrank.cn -- 使用-sU参数尝试的是每个UDP端口
nmap -O -sV www.baidu.com -- 扫描站点主机操作系统及扫描到的端口上运行的软件
nmap -O -sV 192.168.80.30
nmap -sS www.github.com -- 通过向目标的某个端口发送TCP SYN包,然后根据对方不同的回应判断端口是否处于监听状态
nmap -sW www.newrank.cn -- 检测处于打开状态的端口
nmap -sT -PN 192.168.80.30 -- 强制nmap对主机进行扫描
nmap -sT -PN -p1-5000 192.168.80.30 -- 强制扫描指定端口范围内的连接、应用
nmap -sR www.newrank.cn -- 确认是否是RPC端口
5. 防火墙开通端口
# Ubuntu9.10默认使用的就是UFW防火墙。 ufw: uncomplicated firewall
# ufw的启动禁止
systemctl status ufw
sudo ufw status
systemctl stop ufw
sudo ufw disable
systemctl enable ufw
sudo ufw enable
sudo ufw verbose # 查看防火墙的详细状态
# ubunutu控制
ufw allow 13000 # 允许任何人通过端口13000访问本机(包括 UDP、TCP)
ufw deny 55/tcp # 阻止任何人通过55端口,通过tcp连接到本机
ufw alllow smtp # 用协议名字方式来添加条目
ufw delete allow 55/udp # 删除delete参数来删除条目
# iptables下的一般使用
## 添加iptables允许|关闭 端口
参数:-A 追加规则
-D 删除规则
-I 插入
-R 修改
-L 查看规则
-N 新的规则
-p rotocol
-m module_name
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p udp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --drop 端口号 -j DROP # 关闭端口
iptables -L -n #添加的情况记录