telnet检测端口是否畅通

一:telnet
此法常被用来检测是个远端端口是否通畅。
[[email protected] ~]# 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检查端口可以用下面的方法:
[[email protected] ~]# echo -e "\n"|telnet baidu.com 80|grep Connected
Connection closed by foreign host.
Connected to baidu.com (123.125.114.144).

二:通过nmap来检查端口是否通畅
[[email protected] ~]# 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检查端口可以用下面的方法:
   PORT_COUNT=`nmap $ip_add  -p $port|grep open|wc -l`
   [[ $PORT_COUNT -ge 1 ]] && echo "$ip_add $port is ok." || echo "$ip_add $port is unknown."

:通过nc命令检查
[[email protected] ~]# nc -w 5  211.100.98.99 80 && echo ok
ok
[[email protected] ~]# 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和check_udp 
用途:
check_tcp -H 主机 -p 端口 -W <警告时间>] 
[-C ] 
[-S <发送字符串>]
[-E ] 
[-Q ] 
[-M ] 
[-D <延迟>]
[-T
[-R ] 
[-M ] [-V] [-4 | -6] [-J]
[-D ,] 
[-S ] [-E]

check_udp     
用途:
check_udp  主机 -p 端口
check_udp -H -W <警告时间>] 
[-C ] 
[-S <发送字符串>]
[-E ] 
[-Q ] 
[-M ] 
[-D <延迟>]
[-T
[-R ] 
[-M ] [-V] [-4 | -6] [-J]
[-D ,] [-S ] [-E]

项??:
-H, - 帮助
    打印详细的帮助屏幕
-V, - ??版
    打印版本信息
-H, - 主机名= ADDRESS
    主机名,IP地址,或Unix套接字(必须是绝对路径)
-P, - 端口= INTEGER
    端口号(默认值:无)
-4  - 使用IPv4的
    使用IPv4连接
-6  - 使用IPv6的
    使用IPv6连接
-E, - 逃生
    可以使用\ n \ r \ t \发送或退出字符串。必须出现在发送或退出选项
    默认值:没有发送,\ r \ n结束退出
-S, -  = STRING发送
    发送到服务器的字符串
-E, - 期望= STRING
    期望的字符串在服务器响应(可重复)
-A, - 所有
    所有的期望字符串必须出现在服务器的响应。默认为任何
-Q, - 戒烟= STRING
    发送服务器发起一个干净的关闭连接的字符串
-R, - 拒绝OK |警告|暴击 OK,接受TCP拒绝与各国发出警告,暴击(默认:暴击)
-M, - 不匹配= OK |警告|暴击
    接受期望的字符串不匹配的状态确定,警告,暴击(默认值:warn)
-J, - 监狱
    从TCP套接字的隐藏输出
-M, -  maxbytes = INTEGER
    关闭连接,一旦超过这个数目的字节收到
-D, - 延迟= INTEGER
    秒之间的等待时间发送字符串和轮询响应
-D, - 证书= INTEGER,INTEGER]
    最小的天数证书是有效的。
    1#天的警告,第二次是关键(如果未指定 -  0)。
-S, -  SSL
    使用SSL的连接。
-W, - 警告= DOUBLE
    导致警告状态的响应时间(秒)
-C, - 关键= DOUBLE
    在临界状态的响应时间(秒)
-T, - 超时= INTEGER
    秒钟,然后连接超时(默认值:10)
-V, - ?? verbose详细

显示命令行调试的详细信息(Nagios的,可能会截断输出)
界面拼装参数格式如下共4个元素:      
命令!端口!告警时延!严重告警时延!连接超时时间                         
check_tcp!23!0.0020!0.0050!10

备注:                       
check_imap=check_tcp!143                          
check_ftp=check_tcp!21                          
check_nntp=check_tcp!119                          
check_pop=check_udp!110                          
check_udp=check_tcp                         
check_telnet=check_tcp!23

时间: 2024-08-05 19:32:13

telnet检测端口是否畅通的相关文章

linux下用telnet检测远程端口是否打开

方法一. 常用telnet 118.10.6.128 88方式测试远程主机端口是否打开. 方法二. nmap ip -p port 测试端口 nmap ip 显示全部打开的端口 根据显示close/open确定端口是否打开. 方法三. nc -v host port 端口未打开返回状态为非0 一:telnet此法常被用来检测是个远端端口是否通畅. 测试域名: # telnet baidu.com 80 Trying 123.125.114.144... Connected to baidu.co

linux下检测端口是否连通

检测tcp端口使用telnet命令 telnet 例:telnet 192.168.0.1 80 检测udp端口使用uc命令 uc -zu 例:uc -zu 192.169.0.1 80 以上命令在CentOS 6.2 64位下测试通过 bash: fork: Resource temporarily unavailable http://blog.csdn.net/jlds123/article/details/9146865 http://smilejay.com/2012/04/fork_

linux检测端口是否开放的3种命令

linux检测端口是否开放的3种命令: 默认都是没装的,需额外apt-get或yum安装 1.telnet: # telnet 10.0.0.2 22 2.nmap: # nmap 10.0.0.2 -p 22 3.nc: # nc -v 10.0.0.2 22

win7 下ping,telnet,端口等处理

ping 192.168.1.150 开启telnet服务: net start telnet//start telent telnet 192.168.1.150 1433 解决类似80端口被占用问题: netstat -ano  显示端口和pid 禁用http.sys:(可以看到pid 4  80端口的被NT kernel & System 占用) 1. net stop http 2. Sc config http start= disabledwin7 下ping,telnet,端口等处

telnet测试端口是否正常打开

点击计算机的开始菜单-->运行 ,输入CMD命令,然后确定.打开cmd命令行.   输入telnet测试端口命令: telnet IP 端口 或者 telnet 域名 端口 回车   如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败   端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用   Telnet 客户端命常用命令: open : 使用 openhostname 可以建立到主机的 Telnet 连接. close : 使用命令 close 命令可以关

【工作常用代码集】批量Telnet远端端口

作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ __author__ = 'gnuhpc' import telnetlib,socket IP={} def parseTel(line): parseArray = line.split() IP[parseArray[0]]=parseArray[1] with open("tel.lst") as f: for line in f: parseTel(line) for (ip,port)

Linux如何批量检测端口连通性、端口是否开放

有没有批量检测的方法?有的.我们用nc就可以快速检测端口的开放性. nc检测端口的用法 nc -z -w 10  -u%IP% %PORT% -z表示检测或者扫描端口-w表示超时时间-u表示使用UDP协议,此参数为空,则为tcp协议 例如: [@s136.ipcpu.com ~]# nc -z -w 10 -u 8.8.8.8 53 Connection to 8.8.8.8 53 port [udp/domain] succeeded! [@s136.ipcpu.com ~]# nc -z -

nc检测端口是否正常服务的一个命令

最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理.批量的系统监控比较好的是用nagios软件来实现,这样小项目专门装一个nagios软件,有点繁琐了.在网上查了一些资料,总结实验了一下,可以用简单的nc命令来实现. 一.nc命令检测端口的用法 # nc  -v  -w 10 %IP%   -z  %PORT% -v  显示指令

每日一道shell练习(06)——检测端口服务

1. 题目 写一个脚本,判断本机的80端口(假设服务为httpd)是否开启着,如果开启着就什么都不做,如果发现端口不存在,那么重启一下httpd服务,并发邮件通知你自己.脚本写好后,每分钟执行一次,也可以写一个死循环的脚本,30S检查一次. 2. 习题分析 首先,我们要区分要求,这里的要求是检测80端口是否在监听,而不是检测httpd服务是否运行,虽然两者有一定的联系,但并不是对等的关系.检测端口状态用 netstat -lntp 命令.如果要求检测远程主机的端口状态,则用一下的命令: nmap