当前位置: 首页 > news >正文

台州市建设工程质量检测中心网站手机人才网

台州市建设工程质量检测中心网站,手机人才网,门户网站建设自评报告,网站建设公司普遍存在劣势引言 在日常活动中#xff0c;我遇到过一个令人头疼的问题。测试使用的远程终端在第二天继续使用时可能就发生无法与外网通信的情况#xff0c;往往连上终端后在拉取资源时才能发现。这导致每次使用前都需要手动检查网络状况#xff0c;增加了不必要的麻烦。为了简化这一过…引言 在日常活动中我遇到过一个令人头疼的问题。测试使用的远程终端在第二天继续使用时可能就发生无法与外网通信的情况往往连上终端后在拉取资源时才能发现。这导致每次使用前都需要手动检查网络状况增加了不必要的麻烦。为了简化这一过程我决定编写一个脚本实现一键网络检测。 本文将介绍这样一个简单的 Shell 脚本用于检查服务器内外网络的连接状态。该脚本不仅可以检查预设的内部和外部网络节点还可以接受用户输入的额外 IP 地址进行检测。 脚本代码 #!/bin/bash# 颜色定义 GREEN\033[0;32m RED\033[0;31m NC\033[0m # No Color# 定义要测试的IP地址 INTERNAL_IP127.0.0.1 EXTERNAL_IP1223.5.5.5 # 阿里云公共DNS EXTERNAL_IP28.8.8.8 # 谷歌公共DNS# 获取当前服务器的主要IP地址 DEFAULT_ROUTE$(ip route | grep default | awk {print $3}) DEFAULT_INTERFACE$(ip route | grep default | awk {print $5}) SERVER_IP$(ip addr show $DEFAULT_INTERFACE | grep -oP (?inet\s)\d(\.\d){3} | head -n 1)# 获取本地网关 GATEWAY_IP1$DEFAULT_ROUTE# 提示用户输入额外检测的IP地址 read -p 请输入需要额外检测的IP地址留空则按回车跳过: EXTRA_IP# 用数组存储测试结果 results()# 函数检查网络连接 check_connection() {local ip$1local name$2if ! [[ $ip ~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; thenecho -e ${RED}输入的IP格式有误不检测${NC}results($name: 失败 (IP: $ip))returnfilocal ping_output$(ping -c 4 $ip 2/dev/null)local exit_code$?local result$(echo $ping_output | tail -1 | awk -F / {print $5})if [ $exit_code -ne 0 ] || [ -z $result ]; thenecho -e ${RED}无法连接到 ${name} (${ip})${NC}results($name: 失败 (IP: $ip))elseecho -e ${GREEN}成功连接到 ${name} (${ip}) - 平均响应时间: ${result}ms${NC}results($name: 成功 (IP: $ip))fi }# 打印标题 echo -e ${GREEN}开始网络连接检查...${NC} echo -e ${GREEN}当前服务器IP地址: ${SERVER_IP}${NC}# 检查额外指定的IP地址 if [ -n $EXTRA_IP ]; thencheck_connection $EXTRA_IP 额外检测的IP地址 elseecho -e ${NC}未指定额外的IP地址不检测${NC} fi# 检查内部网络 check_connection $INTERNAL_IP 内部网络# 检查本地网关 check_connection $GATEWAY_IP1 本地网关# 检查外部网络阿里云公共DNS check_connection $EXTERNAL_IP1 外部网络 (阿里云)# 检查外部网络谷歌公共DNS check_connection $EXTERNAL_IP2 外部网络 (谷歌)# 结束语 all_successtrue for result in ${results[]}; doif [[ $result *失败* ]]; thenall_successfalsebreakfi doneif [ $all_success true ]; thenecho -e \n${GREEN}所有节点网络正常。${NC} elseecho -e \n${RED}以下节点存在网络问题${NC}for result in ${results[]}; doif [[ $result *失败* ]]; thenecho -e ${RED}${result}${NC}fidone fiecho -e \n${GREEN}网络连接检查完成。${NC}主要模块详解 定义要测试的IP地址 INTERNAL_IP127.0.0.1 EXTERNAL_IP1223.5.5.5 # 阿里云公共DNS EXTERNAL_IP28.8.8.8 # 谷歌公共DNS详解通过常用的网络地址来检验服务器内外网的连通性。127.0.0.1 是本地环回地址用于检查内部网络连接。223.5.5.5 和 8.8.8.8 分别是阿里云和谷歌的公共DNS服务器用于检查外部网络连接。 获取当前服务器的主要IP地址 DEFAULT_ROUTE$(ip route | grep default | awk {print $3}) DEFAULT_INTERFACE$(ip route | grep default | awk {print $5}) SERVER_IP$(ip addr show $DEFAULT_INTERFACE | grep -oP (?inet\s)\d(\.\d){3} | head -n 1)详解这部分代码通过解析路由表和网络接口信息获取当前服务器的主要IP地址。 DEFAULT_ROUTE 获取默认网关的IP地址。DEFAULT_INTERFACE 获取默认网关使用的网络接口名称为下一步获取主机IP提供便利。SERVER_IP 获取主机IP。 构建功能函数检查网络连接 check_connection() {local ip$1local name$2if ! [[ $ip ~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; thenecho -e ${RED}输入的IP格式有误不检测${NC}results($name: 失败 (IP: $ip))returnfilocal ping_output$(ping -c 4 $ip 2/dev/null)local exit_code$?local result$(echo $ping_output | tail -1 | awk -F / {print $5})if [ $exit_code -ne 0 ] || [ -z $result ]; thenecho -e ${RED}无法连接到 ${name} (${ip})${NC}results($name: 失败 (IP: $ip))elseecho -e ${GREEN}成功连接到 ${name} (${ip}) - 平均响应时间: ${result}ms${NC}results($name: 成功 (IP: $ip))fi }详解这个函数负责检查给定IP地址的网络连接状态并将结果记录到 results 数组中。 local ip$1 和 local name$2将传入的参数分别赋值给局部变量 ip 和 name。if ! [[ $ip ~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then检查是否为标准IPv4地址格式。如果不正确输出错误信息并返回。local ping_output$(ping -c 4 $ip 2/dev/null)使用 ping 命令发送4次ICMP请求并捕获输出。local exit_code$?获取 ping 命令的退出状态码。local result$(echo $ping_output | tail -1 | awk -F / {print $5})从 ping 输出中提取平均响应时间。if [ $exit_code -ne 0 ] || [ -z $result ]; then如果 ping 命令执行失败exit_code 状态码不为0如果 ping 命令没有返回有效的响应时间result提取的平均响应时间将为空字符串这两种结果都定义为失败如果失败输出错误信息并记录结果否则输出成功信息并记录结果。 整体结果判断 all_successtrue for result in ${results[]}; doif [[ $result *失败* ]]; thenall_successfalsebreakfi doneif [ $all_success true ]; thenecho -e \n${GREEN}所有节点网络正常。${NC} elseecho -e \n${RED}以下节点存在网络问题${NC}for result in ${results[]}; doif [[ $result *失败* ]]; thenecho -e ${RED}${result}${NC}fidone fiecho -e \n${GREEN}网络连接检查完成。${NC}详解根据 results 数组中的内容输出检查结果和总结信息。 all_successtrue初始化一个布尔变量 all_success表示所有节点是否都成功连接。for result in ${results[]}; do遍历 results 数组检查是否有失败的记录。if [ $all_success true ]; then如果所有节点都成功连接输出成功信息否则输出失败的节点列表。echo -e \n${GREEN}网络连接检查完成。${NC}输出检查完成的信息。 使用效果演示 [roothalo ~]# sh check_network.sh # 指定正常检测 请输入需要额外检测的IP地址留空则按回车跳过: 192.168.1.215 开始网络连接检查... 当前服务器IP地址: 192.168.111.130 成功连接到 额外检测的IP地址 (192.168.1.215) - 平均响应时间: 1.020ms 成功连接到 内部网络 (127.0.0.1) - 平均响应时间: 0.083ms 成功连接到 本地网关 (192.168.111.2) - 平均响应时间: 0.588ms 成功连接到 外部网络 (阿里云) (223.5.5.5) - 平均响应时间: 16.654ms 成功连接到 外部网络 (谷歌) (8.8.8.8) - 平均响应时间: 53.729ms所有节点网络正常。 网络连接检查完成。[roothalo ~]# sh check_network.sh # 输入检测IP有误 请输入需要额外检测的IP地址留空则按回车跳过: hello 开始网络连接检查... 当前服务器IP地址: 192.168.111.130 输入的IP格式有误不检测 成功连接到 内部网络 (127.0.0.1) - 平均响应时间: 0.073ms 成功连接到 本地网关 (192.168.111.2) - 平均响应时间: 0.406ms 成功连接到 外部网络 (阿里云) (223.5.5.5) - 平均响应时间: 16.665ms 成功连接到 外部网络 (谷歌) (8.8.8.8) - 平均响应时间: 53.524ms以下节点存在网络问题 额外检测的IP地址: 失败 (IP: hello) 网络连接检查完成。[roothalo ~]# sh check_network.sh # 指定检测IP无法通信 请输入需要额外检测的IP地址留空则按回车跳过: 192.168.1.888 开始网络连接检查... 当前服务器IP地址: 192.168.111.130 无法连接到 额外检测的IP地址 (192.168.1.888) 成功连接到 内部网络 (127.0.0.1) - 平均响应时间: 0.068ms 成功连接到 本地网关 (192.168.111.2) - 平均响应时间: 0.857ms 成功连接到 外部网络 (阿里云) (223.5.5.5) - 平均响应时间: 14.097ms 成功连接到 外部网络 (谷歌) (8.8.8.8) - 平均响应时间: 47.028ms以下节点存在网络问题 额外检测的IP地址: 失败 (IP: 192.168.1.888) 网络连接检查完成。 结语 通过这次尝试我编写了一个简单的 Shell 脚本用于检查服务器的网络连接状态。这个脚本帮助我在工作前快速检测服务器网络连接情况及时发现和定位问题。希望这个小工具能为你在日常工作中带来便利。如果你有任何问题或建议欢迎在评论区留言分享希望这篇文章对你有所帮助
http://www.hkea.cn/news/14532350/

相关文章:

  • 做设计有哪些好用的素材网站易企秀可以做微网站吗
  • 空间站建设个人网站做联盟营销
  • 网站注册备案之后怎么做网站建设 南通
  • 网站空间登陆漫画做视频在线观看网站
  • 免费软文网站太原制作网站的公司
  • 怎么推广我做的网站九江网页设计公司
  • 灯箱网站开发wordpress弹窗下载
  • 做seo优化产品网站成都效果图公司有哪些
  • wdcp网站备份制作简单的网页
  • 做推广的的网站模板工程网站模板
  • 开个做网站要多少钱怎么建立自己的小程序
  • 服装网站网络建设和硬件资源郑州大型网站建设电话
  • 嘉定华亭网站建设中国个人优秀网站
  • seo站内优化公司网址怎么注册步骤
  • 百度网站地图代码卫浴毛巾架网站建设
  • 中国住房建设网官方网站廊坊做网站公司哪家好
  • 企业网站租服务器东盟经济技术开发区建设网站
  • 本地网站搭建视频教程南宁seo公司
  • 网站关键词优化的步骤和过程网站架构设计师待遇怎么样
  • ps中怎样做网站轮播图片新东方考研培训机构官网
  • 网站开发小公司推荐龙岗企业网站设计公司
  • 大庆开发网站公司第一家中文商务网站
  • 手机企业网站多少钱成都工程建设信息网站
  • 想建设个网站怎么赚钱找个网站懂的网站
  • php网站上线利用angular做的网站
  • 成都定制企业网站制作做地方网站数据哪里来
  • seo网站推广优化费用学习网站大全
  • 临城网站建设网站建设 技术要求
  • django 开发一个公司网站百度关键词查询工具免费
  • 网站建设的好处论文郑州做网站怎么样