linux-检测远程端口是否打开

时间:2021-10-10 05:46:10
常用telnet 110.101.101.101 80方式测试远程主机端口是否打开。   方法1.nmap ip -p port 测试端口  1.1 nmap ip 显示全部打开的端口
[root@localhost etc]# nmap 172.16.3.34 80
PORT STATE SERVICE 80/tcp open http 81/tcp open hosts2-ns 88/tcp open kerberos-sec 445/tcp open microsoft-ds 631/tcp open ipp 3031/tcp open eppc 5900/tcp open vnc   根据显示close/open确定端口是否打开。   方法2. nc -v host port   端口未打开返回状态为非0   一:telnet 此法常被用来检测是个远端端口是否通畅。 [root@oldboy ~]# telnet baidu.com 80 Trying 123.125.114.144... Connected to baidu.com (123.125.114.144). #==>出现Connected表示连通了,说明百度的80端口开放的 Escape character is '^]'. #==>ctrl+]退出此地。 ^] telnet> quit Connection closed.

如果写脚本通过telnet检查端口可以用下面的方法: [root@localhost etc]# echo -e "\n"|telnet baidu.com 80|grep Connected Connection closed by foreign host. Connected to baidu.com (123.125.114.144).

二:通过nmap来检查端口是否通畅 [root@localhost etc]# nmap 172.16.3.34 -p 80 Starting Nmap 5.51 ( http://nmap.org ) at 2017-08-12 22:31 EDT Nmap scan report for 172.16.3.34 Host is up (0.00013s latency). PORT STATE SERVICE 80/tcp open http
如果写脚本通过nmap检查端口可以用下面的方法:    PORT_COUNT=`nmap $ip_add  -p $port|grep open|wc -l`    [[ $PORT_COUNT -ge 1 ]] && echo "$ip_add $port is ok." || echo "$ip_add $port is unknown."
三:通过nc命令检查 [root@localhost etc]# nc -w 5 172.16.3.34 80 && echo OK OK [root@localhost etc]# nc -w 5 172.16.3.34 80 && echo OK|| echo NO OK

扩展-安装nmap [root@localhost etc]# yum install nmap