缘起:本文来自《老男孩Linux运维实战培训初级第七节课课前考试题答案》

考试题十三:如何查看远端的服务是否开通tcp 8000端口,比如,查看etiantian.org是否开通tcp 8000端口?

解答:以80端口为例解答

法一:此法常被用来检测是个远端端口是否通畅。

[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@oldboy ~]# echo -e "\n"|telnet baidu.com 80|grep Connected

Connection closed by foreign host.

Connected to baidu.com (123.125.114.144).

法二:通过nmap来检查端口是否通畅

[root@oldboy ~]# nmap etiantian.org -p 80

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-07-22 17:22 PDT

Interesting ports on 211.100.98.99:

PORT   STATE SERVICE

80/tcp open  http

Nmap finished: 1 IP address (1 host up) scanned in 0.417 seconds

如果写脚本通过nmap检查端口可以用下面的方法:

26  PORT_COUNT=`nmap $ip_add  -p $port|grep open|wc -l`

29  [[ $PORT_COUNT -ge 1 ]] && echo "$ip_add $port is ok." || echo "$ip_add $port is unknown."

法三:通过nc命令检查

[root@oldboy ~]# nc -w 5  211.100.98.99 80 && echo ok

ok

[root@oldboy ~]# nc -w 10  8.8.8.8 53 && echo ok ||echo no

ok

如果写脚本通过nc检查端口并监控memcache服务可以用下面的方法:

export oldboyTimestampMemcachedIp=$1
export oldboyTimestampMemcachedPort=$2
export oldboyTitle=NAGIOS
export oldboyTimestampMD5=4ED06F8D41B9264OLD0BOY30BE5212BB7E34
export wwwServerIp=$3
export wwwServerPort=$4

printf "delete $oldboyTimestampMD5\r\n" | nc $oldboyTimestampMemcachedIp $oldboyTimestampMemcachedPort >/dev/null 2>&1
sleep 1
judge=($(printf "HEAD /oldboy/$oldboyTitle HTTP/1.1\r\nHost: $5\r\n\r\n" | nc $wwwServerIp $wwwServerPort | head -n1|tr "\r" "\n"))

后记,其实还有很多方法,例如通过nagios的插件check_tcp直接操作等等。

这里仅仅是抛砖引玉和大家一起做个简单的分享。
也欢迎大家贴上你的更好的方法。

查看远端的端口是否通畅3个简单实用案例!相关推荐

  1. Linux学习之查看远端的端口是否通畅

    以80端口为例解答 法一:此法常被用来检测是个远端端口是否通畅 1 [root@oldboy ~]# telnet baidu.com 80 2 Trying 123.125.114.144... 3 ...

  2. Linux查看本机端口

    查看指定的端口 # lsof -i:port 查看所有端口 # netstat -aptn 安装telnet #yum install -y telnet.x86_64 #telnet ip 端口

  3. win mysql修改端口号_Windows10系统下查看mysql的端口号并修改的教程图解

    mysql的端口号默认是3306,初学者可能有时会忘记或者之前修改了默认的端口号,忘记了,或者很多时候我们一台电脑需要安装两个mysql或者想设置一个自己的喜欢的数字,那么接下来我们来看看如何查看或者 ...

  4. [linux]查看linux下端口占用

    netstat netstat -an | grep 23 (查看是否打开23端口) 查看端口占用情况的命令:lsof -i [root@www ~]# lsof -iCOMMAND PID USER ...

  5. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

  6. 如何查看本机端口_怎样查看Mac的端口号以及占用情况

    在启动项目,发现地址已经被使用,错误提示信息"Failure: Address already in use "那么如何查看端口占用情况呢?小编介绍几种查看端口占用并释放的方法. ...

  7. Linux 环境运维 - 查看远程调试端口被占用的ip地址,设置连接处于空闲状态快速自动化断开方法,keepalive机制相关说明

    开发有时候需要连接远程调试端口调试环境,上一个开发用完没有主动断开,下一个开发再用也用不了,如果等待系统主动断开,默认的话可能需要等 2 小时. netstat -a | grep 端口号 命令可以查 ...

  8. 服务器看端口信息命令行,查看服务器进入端口命令行

    查看服务器进入端口命令行 内容精选 换一换 部署提供可视化.一键式部署服务,支持并行部署和流水线无缝集成,实现部署环境标准化和部署过程自动化.本节通过以下六步介绍如何使用部署服务将归档在软件发布库的软 ...

  9. Linux下通过进程名查看其占用端口

    1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程查看对应的端口号 #查看nginx进程p ...

最新文章

  1. Kraken:使用精确比对的超快速宏基因组序列分类软件
  2. shell中的wait
  3. android 16进制 全透明_你有几种实现方案Android 设备唯一标识?
  4. Rocky4.2下安装达梦(DM)6数据库
  5. 【尚硅谷】JavaScript基础实战丨JS入门到精通_01-06
  6. 6款令人相见恨晚的在线搜索网站,成年后都会要用上,了解一下!
  7. 职业规划-IT方向(超详细,超具体)
  8. virtualxposed使用教程_无需Root也能使用Xposed框架 —— VirtualXposed v0.14.5
  9. 算法刷题【洛谷P1359】租用游艇(最短路径Floyd算法和Dijkstra算法模板题)
  10. 如何给屏幕设置一个充满全屏幕的背景图片
  11. 一周上榜新书:强化学习、深度学习最受程序员关注
  12. android集成语音功能
  13. UE4大场景解决方案 ——Pak的打包与加载
  14. 机器学习(三)K-means聚类(手肘法、轮廓系数、可视化代码)
  15. 梓紫的日记,第一篇出场人物介绍,刚开头的正文(一次性写不完)
  16. pandas.get_dummies (独热编码)详解
  17. 从前端到后端的一个整体介绍
  18. vue项目中由于eslint检查太严谨而报错的bug,怎么解决删除eslint
  19. ABLIC推出车载用S-19914/5系列低EMI超小型降压开关稳压器,可将传导噪音降至原先水平的1/3
  20. 人工智能史话 (一)

热门文章

  1. MYsql 查询 查询当前月份的数据
  2. js正则验证特殊字符
  3. eclipse下运行自定义maven命令
  4. Yii2框架源码分析之如何实现注册和登录
  5. 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制...
  6. JavaScript中使用console调试程序的坑
  7. dos命令添加war包
  8. 2012年度IT博客大赛50强报道:张世锋
  9. 为 ActionScript 导出库元件
  10. 折线分割平面(hdoj 2050,动态规划递推)