网络端口: 传输层协议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.30nmap -sU www.newrank.cn -- 使用-sU参数尝试的是每个UDP端口nmap -O -sV www.baidu.com -- 扫描站点主机操作系统及扫描到的端口上运行的软件nmap -O -sV 192.168.80.30nmap -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 ufwsudo ufw statussystemctl stop ufwsudo ufw disablesystemctl enable ufwsudo ufw enablesudo 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_nameiptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPTiptables -A INPUT -p udp --dport 21 -j ACCEPTiptables -A INPUT -p tcp --drop 端口号 -j DROP # 关闭端口iptables -L -n #添加的情况记录
