测试端口是否开启
前言:
端口不是独立存在的,它必须依附于进程(抽象想想的话,其实端口默认是关闭的,只有当程序与之连接,它便开启),进程开启,相应的端口自然也就开启了,进程关闭,端口自然也就关闭了!
查询篇:
netstat
-a 所有
-n 以数字的形式显示地址
-p pid/程序名
-t TCP协议
-u UDP协议
# netstat -anptu
# 查询系统所有开启的端口,包括TCP/UDP协议端口
当然系统中有一个文件专门用于存储系统程序的端口号 “ /etc/services ”
检测篇:
方法一:
使用远程工具检测
1.远程连接工具:如 xshell、putty等(远程连接用到的协议有:ssh,telnet)
ssh 主要是用于连接自己的主机(做实验时,为了观察方便,或者自己的主机是yun主机等)
telnet 则用来连接“需要测试准备的端口”
2.使用nc命令 需要安装一个nc的安装包
##使用nc命令主要是模拟一个程序的端口
直接使用yum安装
#yum -y install nc
准备连接
使用nc 添加需要检测的端口
nc
-l 指定要检测的端口
-u 使用UDP协议代替默认的TCP协议
# nc -l 800
方法二:
使用专业的网络扫描工具
nmap
-sT TCP 连接扫描
-sU udp UDP扫描
-sn icmp Ping扫描
-PE icmp输出(配合-sn 一起用,例: nmap -sn -PE 123.58.249.0/24)
-P0 跳过ping检测
-O 指定扫描的主机,可以是本机(使用 "localhost" 代表本机)
-n 禁用反向解析
-p 指定端口号
使用实例:
nmap -n -sP 192.168.4.61
第一步:
使用nc 模拟出一个端口被占用(开启端口)
第二步:
扫描该端口
红色框里是 " open " 状态表示 此端口开启, " closed " 则为关闭状态;
本文出自 “readshlinux” 博客,请务必保留此出处http://readshlinux.blog.51cto.com/9322509/1739365