Python—端口检测(socket)
基于python检测端口是否在使用
原理:创建一个socket服务,连接对应的 ip:port ,如果能够连接,说明端口被占用;若端口可用,则不可连接。
#!/usr/bin/evn python
#-*-coding:utf-8 -*- import sys, socket
from argparse import ArgumentParser
from optparse import OptionParser class backupTools:
def check_port(self, ip, port=80):
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((ip, port))
s.shutdown(2)
print('%s:%d is used' % (ip, port))
return True
except socket.error as e:
print('%s:%d is unused' % (ip, port))
return False if __name__ == '__main__':
args = sys.argv
port = sys.argv[1]
backup = backupTools() # parser=OptionParser()
# parser.add_option('-a', '--addr', dest='addr', help='')
# parser.add_option('-p', '--port', dest='port', default=80, type="int", help='')
# (options, args) = parser.parse_args()
# print "options===>", options.addr, args parser = ArgumentParser(description="TCP端口检测")
parser.add_argument('a1') # 输入参数时候不用字典传参。
parser.add_argument('-o', '--other', dest='other') # 输入参数时候需要字典传参,python test.py 33 -o56 127.0.0.1 3306
parser.add_argument('-a', '--addr', dest='addr', default='localhost', help='address for the server')
parser.add_argument('-p', '--port', dest="port", default=80, type=int, choices=[80,443,3306], help='port for the server')
# args = parser.parse_args()
args = parser.parse_known_args()[0]
print "args===>", args, args.port result= backup.check_port(args.addr, int(args.port))
sys.exit(0)
https://blog.csdn.net/weixin_33888907/article/details/93054754 git
Python—端口检测(socket)的更多相关文章
- Python脚本写端口扫描器(socket,python-nmap)
目录 Socket模块编写 扫描给定主机是否开放了指定的端口 python-nmap模块编写 扫描给定ip或给定网段内指定端口是否开放 一个用python写的简单的端口扫描器,python环境为 3. ...
- tcp端口检测
# coding=utf-8 import sys import socket import re def check_server(address, port): s = socket.socket ...
- python网络编程-socket编程
一.服务端和客户端 BS架构 (腾讯通软件:server+client) CS架构 (web网站) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二.OSI七层 ...
- python网络编程-socket
python提供了两个socket模块 Socket,它提供了标准的BSD Sockets API SocketServer,它提供了服务器中心类,可以简化网络服务器的开发 下面先说socket模块 ...
- 第10章 同步设备I/O和异步设备I/O(4)_利用I/O完成端口实现Socket通信
I/O完成端口原理见上一篇(可点击这里) 10.5.4.4 利用I/O完成端口实现Socket通信 (1)Accept和AcceptEx流程的比较 ①采用accept方式的流程示意图如下(普通的阻塞函 ...
- python模块之socket
43.python模块之socket: Python在网络通讯方面功能强大,学习一下Socket通讯的基本方式 UDP通讯: Server: import socket port=8081 ...
- python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题
今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...
- Python 基础之socket编程(二)
Python 基础之socket编程(二) 昨天只是对socket编程做了简单的介绍,只是把socket通信的框架搭建起来,要对其中的功能进行进一步的扩充,就来看看今天的料哈! 一.基于tcp的套接字 ...
- python端口扫描器
吃了个火鸡面后感觉到了怀疑人生!!!!!!!!!妈耶,在也不吃了.思路都给辣没了!!! python端口扫描器代码如下: #-*-coding:utf-8 from socket import * i ...
随机推荐
- Oracle数据库创建只读用户
创建一个只读用户user2,只能查询管理员用户user1下的表,不能增删改. 操作环境:PL/SQL Developer 1.用管理员用户user1登录,创建用户user2.并授权 --创建用户use ...
- 教你两招用纯CSS写Tab切换
说到Tab切换,你可能首先想到的就是使用jQuery,短短几行代码就可以轻松搞定一个Tab切换. 而今天所要分享的,是使用 0 行JS代码来实现Tab切换! 具体效果如下: Tab切换 方法一:模 ...
- pip 查看软件包 可用版本并安装; pip 查看 numpy 可用版本并安装
最近需要安装 numpy 的旧版本,发现不知道如何查看可以安装旧版本,解决方法在此进行记录: 然后找到你对应的版本进行安装就可以了: 保持更新,更多精彩内容,请关注 cnblogs.com/xuyao ...
- HTML Rendering Error
刚下载的markdown弹窗提示html渲染错误 去官网 http://markdownpad.com/faq.html#livepreview-directx 页面搜索 This view h ...
- SSM 实现登录注册功能
1.上一篇SSM框架搭建好了之后就要开始写功能了,现在来写一个简单的登录注册功能 这几个包是自己手动创建的,然后往里面写代码 2.代码详情 package com.maike.controller; ...
- linux五天光速入门
第一章: 01 Linux的安装及相关配置 → B站视频链接(p1-p21) 02 UNIX和Linux操作系统概述 → B站视频链接 第二章: 01 Linux命令及获取帮助 → B站视 ...
- php strlen和mb_strlen
结果: 结论:如果没有中文,尽量使用strlen
- STM32 F4xx Fault 异常错误定位指南
STM32 F407 采用 Cortex-M4 的内核,该内核的 Fault 异常可以捕获非法的内存访问和非法的编程行为.Fault异常能够检测到以下几类非法行为: 总线 Fault: 在取址.数据读 ...
- Java数组拷贝的五种方法
在Java中有多种方法可以拷贝一个数组,到另外一个数组. 1.循环拷贝 在循环拷贝方法中,只需要利用i,移动指针即可复制所有数组到arrayB中. for(int i=0;i<arrayA.le ...
- 使用logging模块进行封装,让bug无处遁寻
import logging from scripts.handle_config import conf from scripts.constants import LOGS_DIR class H ...