Python实现的tcp端口检测操作示例


Posted in Python onJuly 24, 2018

本文实例讲述了Python实现的tcp端口检测操作。分享给大家供大家参考,具体如下:

# coding=utf-8
import sys
import socket
import re
def check_server(address, port):
  s = socket.socket()
  print 'Attempting to connect to %s on port %s' % (address, port)
  try:
    s.connect((address, port))
    print 'Connected to %s on port %s' % (address, port)
    return True
  except socket.error as e:
    print 'Connection to %s on port %s failed: %s' % (address, port, e)
    return False
if __name__ == '__main__':
  from argparse import ArgumentParser
  parser = ArgumentParser(description=u'TCP端口检测')
  parser.add_argument(
    '-a',
    '--address',
    dest='address',
    default='localhost',
    help='address for the server')
  parser.add_argument(
    '-p',
    '--port',
    dest="port",
    default=80,
    type=int,
    help='port for the server')
  args = parser.parse_args()
  check = check_server(args.address, args.port)
  print 'check_server returned %s' % check
  sys.exit(not check)

测试结果:

[hupeng@hupeng-vm Python]$python check_server.py && echo "SUCCESS"
Attempting to connect to localhost on port 80
Connected to localhost on port 80
check_server returned True
SUCCESS
[hupeng@hupeng-vm Python]$python check_server.py -p 81 && echo "Failure"
Attempting to connect to localhost on port 81
Connection to localhost on port 81 failed: [Errno 111] Connection refused
check_server returned False
[hupeng@hupeng-vm Python]$python check_server.py -p 81 || echo "Failure"
Attempting to connect to localhost on port 81
Connection to localhost on port 81 failed: [Errno 111] Connection refused
check_server returned False
Failure

附:

shell中&&||的使用方法

命令的返回结果:真(返回0),假(返回非0)

command1  && command2: command1返回真时,command2才会被执行

command1  || command2:command1返回真时,command2就不会被执行

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
使用Python的Supervisor进行进程监控以及自动启动
May 29 Python
python实现封装得到virustotal扫描结果
Oct 05 Python
Python Queue模块详解
Nov 30 Python
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
Python实现的概率分布运算操作示例
Aug 14 Python
Python高级用法总结
May 26 Python
浅析python 中大括号中括号小括号的区分
Jul 29 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 Python
Python字符串对齐方法使用(ljust()、rjust()和center())
Apr 26 Python
Python超详细分步解析随机漫步
Mar 17 Python
python正则表达式之对号入座篇
Jul 24 #Python
Python 字符串与二进制串的相互转换示例
Jul 23 #Python
Python二进制串转换为通用字符串的方法
Jul 23 #Python
Python基于多线程实现ping扫描功能示例
Jul 23 #Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 #Python
python定向爬虫校园论坛帖子信息
Jul 23 #Python
python实现图片批量压缩程序
Jul 23 #Python
You might like
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
jQuery函数map()和each()介绍及异同点分析
2014/11/08 Javascript
Bootstrap按钮下拉菜单组件详解
2016/05/10 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
python Django模板的使用方法(图文)
2013/11/04 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
python将txt文件读取为字典的示例
2018/12/22 Python
Python3解释器知识点总结
2019/02/19 Python
Pandas中resample方法详解
2019/07/02 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
实习生自荐信范文
2013/11/13 职场文书
企业员工培训感言
2014/02/26 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
大学活动总结范文
2014/04/29 职场文书
毕业评语大全
2014/05/04 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
转让协议书
2015/01/27 职场文书
研究生简历自我评
2015/03/11 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
Redis主从复制操作和配置详情
2022/09/23 Redis