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中的面向对象编程详解(上)
Apr 13 Python
python计算一个序列的平均值的方法
Jul 11 Python
浅谈Python中函数的参数传递
Jun 21 Python
python的scikit-learn将特征转成one-hot特征的方法
Jul 10 Python
flask入门之表单的实现
Jul 18 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
python 命令行传入参数实现解析
Aug 30 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
python绘图subplots函数使用模板的示例代码
Apr 30 Python
python异常中else的实例用法
Jun 15 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开发中的中文编码问题
2013/08/08 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
js验证账户名是否重复
2020/05/26 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
讲座主持词
2014/03/20 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
个人整改方案范文
2014/10/25 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
Java基础之线程锁相关知识总结
2021/06/30 Java/Android
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL