Linux测试端口(批量测试端口)畅通性
在实际运维中,客户会经常要求协助测试某一地址和端口是否是联通状态,但有时客户反馈实际使用中有时是能访问通,有时访问不对,于是,按客户的要求,测试下来,发现:
telnet结果是通的,但客户反馈服务访问此地址时,很大概率还会出现超时的情况。基础部门建议循环telnet看下,是不是不稳定。
当时是手动多次重复执行telnet命令,发现确实有部分telnet不通的情况。telnet测试方法telnet192。168。1。9443批量telnet脚本
以下为通过脚本形式,实现批量telnet的方法:
192。168。1。9节点的tmp目录下新建过cheng文件夹。
循环telnet,shell脚本如下:脚本开始PORTXXXXcount0foriin(catiplist。txt)do((count))echocountcount关键代码,1s自动结束telnet(sleep1;)telnetiPORTtelnetresult。txtdone根据结果判断出正常可以ping通的ipcattelnetresult。txtgrepB1〕grep〔09〕awkcutd。f1,2,3,4telnetalive。txt差集,得到ping不同的ipcatiplist。txttelnetalive。txtsortuniqutelnetdie。txt脚本结束
执行步骤:
1、在Linux环境中运行,首先建文件夹如cheng(mkdircheng),然后vim创建telnet。sh(vitelnet。sh)文件将上述代码复制进去,修改XXXX为实际端口号例如linux的远程端口22,保存退出。
2、在cheng文件夹中创建iplist。txt(vimiplist。txt)的文件,并输入要检查的服务器IP地址,每行一个地址。
3、执行telnet。sh(shtelnet。sh或bashtelnet。sh)文件,等待结果。
4、cheng文件夹目录文件介绍
shell文件夹中会新出现3个新的文件,如下:
telnetalive。txt端口通的地址集合
telnetdie。txt端口不通的地址集合
telnetresult。txt所有地址检查结果
5、查看脚本执行结果,一般我们查看telnetalive。txt文件即可。
脚本执行时,可能会报错:syntaxerrornearunexpectedtoken
报销是因为我在windows7里写的shell脚本,传到CentOS系统里运行就可以会提示syntaxerrornearunexpectedtoken错误,是因为两个系统的换行符不一样导致的。
需要使用notepad转换下格式,转换方法
1、把脚本使用notepad打开,点击视图显示符号显示所有字符,将所有字符显示出来,调整完成就会发现文档中出现CRLF,表示换行回车符
2、接下来,点击编辑档案格式转换转换为UNIX格式,目的是将windows的格式转为linux或unix格式
3、转换完成,换行回车符自动变成【LF】,这里再上传到服务上就可以了。
以上方式是固定端口。要telnet多个不同端口的话脚本需要修改一下,去掉上面脚本的Port部分,并改用whilereadline循环:
Shell脚本for和while的区别,for是按行读取,但如果行内文字有空格或tab等,则分开读取,即一次读取一个字符串。
如www。baidu。com80,就会变成两行了,www。baidu。com一行,80一行。telnet就会执行不下去。
While是整行读取,不管行内有多少段文字。
另外iplist。txt需要改为ip端口
脚本如下:count0catiplist。txtwhilereadlinedo((count))echocountcountecholine关键代码,1s自动结束telnet(sleep1;)telnetlinetelnetresult。txtdone根据结果判断出正常可以ping通的ipcattelnetresult。txtgrepB1〕grep〔09〕awkcutd。f1,2,3,4telnetalive。txt差集,得到ping不同的ipcatiplist。txttelnetalive。txtsortuniqutelnetdie。txt
但这个多端口的方式,生成的telnetalive。txt始终为空,telnetdie。txt也有不对的情况出现(比如www。baidu。com80实际是通的,却出现在telnetdie。txt里)。可能是iplist。txt加了端口,相应的判断也需要改下。也可能是sleep1时间不够长,前一个地址超时等待的时候,下一个地址又开始telnet,造成统计结果不准确。
其实从shtelnet。sh的执行结果上就能看出通不通了,下图报timedout的就是不通的。
使用nc命令判断端口情况
在Linux中有如下一条语句,也可以检验端口是否通nczvorigincreation。com443
没有nc的服务器,需要yuminstallync安装一下。
这个命令不像telnet,需要手动退出才能执行下一个命令。可以使用此方法,手动多次重复执行,判断是否有不通的情况。
在Docker容器里也可以安装nc命令,安装命令:apkaddnc
安装之后可以在docker容器里,测试端口情况。使用CURL命令判断端口情况
除telnet、nc之后,还可以通过curl来判断端口是否通,语句如下:curlorigincreation。com:443注意地址和端口间的冒号:,一定不要落下
使用curl命令,相当于使用浏览器访问或使用postman等接口调用工具返回,返回只要不是timeout,基本均不通的状态,返回内容取决于端口返回内容
批量curl,循环curl脚本
在服务器任意位置创建文件,建议使用root用户,避免权限问题vimforcurl!binbashforiin{1。。1000}doecho第一个IP:192。168。1。98000端口,第i次访问。。。。。。。。。,timecurl192。168。1。9:8000echo第二个IP:10。11。12。1008000端口,第i次访问。。。。。。。。。timecurl10。11。12。100:32767echo如果有多个ip,可以继续按照上边,继续写下去,脚本里不限制echo用于区分次数done
以上脚本是循环1000次,测试两个ip和端口的畅通性,每次均记录次数和访问结果,可自动调整次数,调整方法,将foriin{1。。1000}中的1000,换成对应次数即可。
脚本编写完成后,按esc键,再按冒号wq,保存退出。
使用以下命令执行并查看结果:shforcurl
以上即为Linux系统常见的检测端口畅通情况
互联网面试为什么要使用消息队列?削峰填谷在有些业务系统的使用上,可能会出现超高并发场景。由于后端的服务来不及处理过多的请求,可能导致请求的阻塞,严重的时候可能由于请求过多导致Web端服务器瘫痪。在……
荣耀X40GT手机开启MagicOS7。0正式版升级IT之家3月29日消息,据鹏鹏君驾到晒出的图片显示,荣耀X40GT手机已开启升级MagicOS7。0正式版全面升级。升级路径包括:手机端进入〔荣耀俱乐部〕App首页系统更……
动力电池库存增加,碳酸锂价格波动会影响到谁?近日,研究机构EVTank联合伊维经济研究院共同发布了《中国新能源汽车动力电池行业发展白皮书(2023年)》。数据显示,2022年全球新能源汽车总销量达到1082。4万辆,同比……
5场碾压122分!黑马击垮京粤狙击辽宁,还能帮CBA邓肯抢郭北京时间1月11日,CBA积分形势波诡云谲,看起来能够威胁到辽宁的队伍也就只有广厦了。目前辽宁19胜2负稳居第一,而紧随其后甚至已经和后面球队拉开差距的,就是18胜3负、……
雅妹子徐艳红直面人生的苦难,两次从地震废墟中重生每经记者:谢陶每经编辑:张凌霄创业之艰险,非常人能及。唯有那些真正勇敢、坚韧的人,才能越过荆棘丛生的险途,最终峰回路转,云开见日。雅妹子徐艳红就是这样一位女性创业者……
春节假期超3亿人次出游旅游迎春开门红如何持续?在刚刚过去的这个春节假期,很多旅游景点再现疫情前人潮汹涌的场景,数据也证明了这一点。文旅部的数据显示,今年春节假期,全国国内旅游出游3。08亿人次,同比增长23。1,超过了行业……
写给医院的表扬信范本精选表扬信是赞颂对方的一种方式,你知道写给医院的表扬信该怎么写吗?下面品学网小编为大家带来一些写给医院的表扬信,希望对你有所帮助!写给医院的表扬信范文篇一尊敬的xx医院领导:……
班干部竞选演讲稿演讲稿是人们在工作和社会生活中经常使用的一种文体。它可以用来交流思想、感情,表达主张、见解;也可以用来介绍自己的学习、工作情况和经验等等;那么竞选学习委员演讲稿怎么写?以下仅供……
一年级学生评语范文评语是向学生进行教育的重要手段,老师对学生所写的评语,具有不可低估的沟通和教育作用。那么你知道一年级学生评语要怎么写吗?下面是小编为大家整理的一年级学生评语,欢迎阅读。一年级学……
格林童话心得体会800字《格林童话》就像是一次心灵的放飞,看看故事情节体味一下其中的意义,欣赏欣赏其语言艺术的特色。犹如采撷最丰硕的花果,吮吸最甜美的甘露,来滋养自己,丰富自己,提高自己。下面是小编为……
审计法实施条例第一章总则第一条根据《中华人民共和国审计法》(以下简称审计法)的规定,制定本条例。第二条审计是审计机关依法独立检查被审计单位的会计凭证、会计账簿、会计报表以及其他与……
争做优秀少先队员活动方案争做优秀少先队员活动方案活动目的:利用10月13日建队日,开展争做优秀少先队员活动,让学生了解中国少年先锋队的知识,让学生积极争取一名优秀少先队员,从而在班级中塑造……