telnet网络疏通——脚本案例

这段脚本主要是使用 bash 脚本进行 Telnet 连接测试,遍历了三个 IP 地址(192.168.20.11、192.168.20.22、192.168.20.33)以及三个端口号(22、80、443)。对每个 IP 地址和端口组合进行 Telnet 连接测试,如果连接成功则在日志文件中记录 SUCCESS,否则记录 FAILED。

#!/bin/bash
log_file="/tmp/$HOSTNAME-telnet.log"
for i in 192.168.20.11 192.168.20.22 192.168.20.33
do
port="22 80 443"for ii in $portdoif timeout 3s bash -c "echo >/dev/tcp/$i/$ii" &>/dev/null;thenecho "$i $ii SUCCESS" >>$log_fileelseecho "$i $ii FAILED" >>$log_filefidone
done

其中timeout 3s bash -c "echo >/dev/tcp/$i/$ii" &>/dev/null详解这个命令的作用是在本地主机上尝试与远程主机的指定端口建立 TCP 连接。下面是对命令中各部分的解释:

  • timeout 3s: 是一个命令,用于设置命令的超时时间。在这里,设定了 3 秒作为超时时间,即如果在 3 秒内未能建立 TCP 连接,命令将会超时。

  • bash -c "echo >/dev/tcp/$i/$ii": 这里通过 Bash 的特性尝试建立 TCP 连接。在 Linux 内核中,/dev/tcp 是一个特殊的虚拟文件,Bash 可以利用这个文件路径实现对 TCP 连接的操作。命令中的 echo 实际上并不输出任何内容,只是作为占位符,目的是尝试建立 TCP 连接。

  • &>/dev/null: 这个部分将命令的标准输出和标准错误重定向到 /dev/null,即丢弃所有输出和错误信息。这样可以在不将输出打印到终端的同时,检查连接是否成功。

例如,命令timeout 3s bash -c "echo >/dev/tcp/192.168.20.11/80" &>/dev/null的作用是在执行命令的过程中尝试在本地主机与 IP 地址为 192.168.20.11,端口号为 80 的远程主机建立 TCP 连接,如果在 3 秒内连接成功,则成功返回退出状态码,否则超时返回非零状态码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始:手把手教你使用Python实现PDF到Excel的转换

来百 在日常工作和学习中,我们经常会遇到需要将PDF文件中的数据提取到Excel表格中的情况。可能是为了进行数据分析、报告生成或者其他目的。虽然手动复制粘贴是一种方法,但对于大量的数据来说,这种方式显然效率太低。幸运的是,Py…

【相机开发问题总结】曝光补偿ExposureCompensation未生效异常分析及解决

问题描述 做一款相机应用时,用户反馈相机预览界面太暗了,由于我们是嵌入式设备,没有手机那么高大上得闪光灯补光,因此只能考虑从软件层面提高界面亮度,还好找到了曝光补偿,但是开发过程中发现曝光补偿未生…

npm 错误,ERESOLVE unable to resolve dependency tree

npm 错误,ERESOLVE unable to resolve dependency tree 在命令中增加 --legacy-peer-dep 选项或者–force npm install --legacy-peer-depsnpm install --force

保存商品信息功能(VO)

文章目录 1.分析前端保存商品发布信息的json数据1.分析commoditylaunch.vue的submitSkus1.将后面的都注销,只保留查看数据的部分2.填写基本信息3.保存信息,得到json4.使用工具格式化一下 2.使用工具将json转为model3.根据业务修改vo,放到vo包…

「网络流浅谈」最大流的应用

更好的阅读体验 二分图匹配 考虑如何将二分图匹配问题,转化为流网络。设置 1 1 1 个汇点和源点,从源点向二分图一侧的每一个点连边,从另一侧向汇点连边,边权均为 1 1 1,二分图中的边也全部加入,权值设为…

【第1章】SpringBoot入门

文章目录 前言一、版本要求1. SpringBoot版本2. 其他2.1 System Requirements2.2 Servlet Containers2.3 GraalVM Native Images 3. 版本定型 二、新建工程1.IDEA创建 ( 推荐 ) \color{#00FF00}{(推荐)} (推荐)2. 官方创建 三、第一个SpringBoot程序1. 引入web2. 启动类3. 启动…

Edge浏览器:重新定义现代网页浏览

引言 - Edge的起源与重生 Edge浏览器,作为Microsoft Windows标志性的互联网窗口,源起于1995年的Internet Explorer。在网络发展的浪潮中,IE曾是无可争议的霸主,但随着技术革新与用户需求的演变,它面临的竞争日益激烈。…

python中的一些基础概念

在python中整型数据可以和浮点型数据相加,在python中字符串数据可以进行相加, 在python中整型数据可以和布尔类型进行算术运算。此时True当做1,False当做0但是这样的操作是没有意义的, python中只有字符串类型没有字符类型&…

用这8种方法在海外媒体推广发稿平台上获得突破-华媒舍

在今天的数字时代,海外媒体推广发稿平台已经成为了许多机构和个人宣传和推广的有效途径。如何在这些平台上获得突破并吸引更多的关注是一个关键问题。本文将介绍8种方法,帮助您在海外媒体推广发稿平台上实现突破。 1. 确定目标受众 在开始使用海外媒体推…

篮球论坛|基于SprinBoot+vue的篮球论坛系统(源码+数据库+文档)

篮球论坛系统 目录 基于SprinBootvue的篮球论坛系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&#xff…

AI大模型探索之路-实战篇5: Open Interpreter开放代码解释器调研实践

系列篇章💥 AI大模型探索之路-实战篇4:DB-GPT数据应用开发框架调研实践 目录 系列篇章💥前言一、何为Open Interpreter?二、与 ChatGPT 的代码解释器比较三、 Open Interpreter的特性1、强大的本地计算能力2、丰富的功能3、高度的…

Go 实现程序优雅退出

在Go语言中,实现程序的优雅退出是一项重要的任务,特别是在涉及到HTTP服务器、gRPC服务器、以及其他后台工作的情况下。 在实际应用中,通常建议同时监听 os.Interrupt 和 syscall.SIGTERM,因为它们都是常见的终止信号&#xff0c…

Spark在YARN上运行图解(资源调度+任务调度)及案例

前提:已经安装了spark集群,可参考上篇文章搭建:http://t.csdnimg.cn/UXBOp 一、Spark集群配置YARN 1、增加hadoop 配置文件地址 vim spark-env.sh 增加export HADOOP_CONF_DIR/usr/local/soft/hadoop-3.1.1/etc/hadoop 2、关闭虚拟内存 cd …

K8s基本概念初识

K8S基本概念 Container(容器) 容器是一种便携式、轻量级的操作系统级虚拟化技术。它使用命名空间(namespaces)来隔离不同的软件运行环境,并通过镜像(images)自包含软件的运行环境。容器技术使…

【图像超分】论文精读:Residual Non-local Attention Networks for Image Restoration(RNAN)

第一次来请先看这篇文章:【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等) 文章目录 前言Abstract1 INTRODUCTION2 RELATED WORK3 RESIDU…

51单片机系统练习

头文件内容: /*-------------------------------------------------------------------------- AT89X52.HHeader file for the low voltage Flash Atmel AT89C52 and AT89LV52. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights …

JVM学习-虚拟机层面看String

String基本特性 String字符串,使用一对“”引起来表示 String s1 “lotus”; //字面量定义方式String s2 new String(“hello”) String声明为final,不可被继承String实现了Serializable接口,表示字符串支持序列化,实现Comparable接口&…

供应链金融模式学习资料

目录 产生背景 供应链金融的诞生 供应链金额的六大特征

结构安全预警?事前发现?人工观测VS自动化监测,谁更胜一筹?

人工检测是依靠目测检查或借助于便携式仪器测量得到的信息,但是随着整个行业的发展,传统的人工检测方法已经不能满足检测需求,从人工检测到自动化监测已是必然趋势。 a. 从检测方式看 人工检测需要耗费大量的精力,从摆放检测工具到…