脚本中批量处理远程主机的端口是否打开

简介:

    上午接到任务,将来业务上线前,要求我们先做一下我们系统业务与其他系统业务的连通性测试。包括ping测试(网络是否连通)、端口是否打开。领导给的意见是使用telnet,因为之前他们的业务也是这样测试的,但是他具体的细节忘了。要求我完成一个脚本实现该功能。

    当然,大家都知道ping测试只能测网络是否可达,但是具体的端口是否开发是无法用ping测试的。我就先去使用telnet去实现。由于我只是想通过使用telnet来实现判断,并不想真正去做登录端口。

在我做实验时,变出现了以下的问题

 wKiom1itk5jCGs0fAAAjn_25eVA083.png     我必须再次输入quit才能退出。这对于批量处理来说简直是崩溃的。后来求助网友,有人说可以使用nc。这个我是知道可以的,因为我自己上网搜索也有人这样使用。但是我们环境的要求,不能随便安装软件,并且还要审批,非常复杂。再加上领导以前确实是通过telnet实现的。我也相信telnet确实可以实现,只不过我不知道。后来我就去查看man telnet。最后,实践着实践着。就发现。我可以这样:

[root@centos6~]#echo q|telnet -e 'q' 192.168.0.103 22

Telnet escape character is 'q'.

Trying 192.168.0.103...

Connected to 192.168.0.103.

Escape character is 'q'.


telnet> Connection closed.

[root@centos6~]#echo q|telnet -e 'q' 192.168.0.103 22 > /dev/null

[root@centos6~]#echo $?

0

wKioL1itlXbAk6-KAADFOP0g0xw770.png-wh_50

    再来看,telnet 一个没有打开的端口。这样我就可以无需登录某端口实现判断其是否开放。

[root@centos6~]#echo q|telnet -e 'q' 192.168.0.103 222 > /dev/null 

telnet: connect to address 192.168.0.103: No route to host

[root@centos6~]#echo $?

1

    现在来看,我已经解决了telnet的问题,那么就好说了。

    我脚本的思路首先是通过ping来判断网络通不通,再次使用telnet来判断端口是否打开。

    现在复习一下ping命令,简单说一下ping -c 10 -i 0.2 192.168.0.103,向192.168.0.103发送间隔为0.2s,总数为10个的报文。每个系统的最小间隔可能不同,有时需要调整改值。还有一个叫nc的命令也可以很好地判断端口是否开放。如:nc -z 192.168.0.103 22 



本文转自 ping9527 51CTO博客,原文链接:http://blog.51cto.com/babyhanggege/1900359,如需转载请自行联系原作者

相关文章
|
3月前
|
网络安全 Python
Python编程--目标IP地址段主机指定端口状态扫描
Python编程--目标IP地址段主机指定端口状态扫描
68 1
|
5月前
|
网络协议 Linux 网络安全
在Linux中,如何将本地 80 端口的请求转发到 8080 端口?当前主机 IP 为10.0.0.104。
在Linux中,如何将本地 80 端口的请求转发到 8080 端口?当前主机 IP 为10.0.0.104。
|
5月前
|
网络协议 Ubuntu Linux
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
在Linux中,如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0。
|
5月前
|
SQL 网络协议 Java
JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败
JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败
77 0
|
6月前
|
运维 Python Windows
如何通过Python脚本查找并终止占用指定端口的进程
在日常的开发和运维过程中,某些端口被意外占用是一个常见的问题。这种情况可能导致服务无法启动或冲突。本文将介绍如何通过Python脚本查找并终止占用指定端口的进程,以确保系统的正常运行。
|
6月前
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
42 0
|
8月前
|
分布式计算 DataWorks 监控
DataWorks产品使用合集之在 DataWorks 中, FTP 主机和端口信息如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
79 1
|
8月前
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
46 0
|
8月前
|
Shell Linux
Linux脚本Shell脚本来实现一次性kill多个端口的进程
Linux脚本Shell脚本来实现一次性kill多个端口的进程
109 0
|
8月前
|
Shell
Shell脚本检测服务器或者ip哪些端口是开放的都是开放了哪些端口
Shell脚本检测服务器或者ip哪些端口是开放的都是开放了哪些端口
61 0

热门文章

最新文章

下一篇
开通oss服务