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中的代码编码格式转换问题
Jun 10 Python
分享Python文本生成二维码实例
Jan 06 Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
python基础教程之匿名函数lambda
Jan 17 Python
python实现的正则表达式功能入门教程【经典】
Jun 05 Python
python迭代dict的key和value的方法
Jul 06 Python
Python 微信之获取好友昵称并制作wordcloud的实例
Feb 21 Python
基于Python解密仿射密码
Oct 21 Python
Python log模块logging记录打印用法解析
Jan 20 Python
conda安装tensorflow和conda常用命令小结
Feb 20 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 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
PHP学习笔记之二 php入门知识
2011/01/12 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JS原型对象通俗"唱法"
2012/12/27 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
几道PHP面试题
2013/04/14 面试题
网络工程专业毕业生推荐信
2013/10/28 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
企业授权委托书范本
2014/09/22 职场文书
婚前协议书范本两则
2014/10/16 职场文书
出生证明范本
2015/06/15 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
vue中div禁止点击事件的实现
2022/04/02 Vue.js
Python几种酷炫的进度条的方式
2022/04/11 Python