Python利用socket模块开发简单的端口扫描工具的实现


Posted in Python onJanuary 27, 2021

一、socket

1.简介

Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

socket的工作流程

  • socket 采用C/S 模式,分为服务端和客户端
  • 服务端数据处理流程
    • 创建socket -> 绑定到地址和端口 -> 等待连接 -> 开始通信-> 关闭连接
  • 客户端数据处理流程
  • 创建socket -> 等待连接 -> 开始通信-> 关闭连接
  • 客户端没有绑定地址和端口,是由于客户端进程采用的是随机端口,当客户端要去连接目标时,会由系统自定分配一个端口号和自身ip地址去组合

2.利用方法

函数 描述
s.settimeout(timeout) 设置套接字操作的超时期,timeout是一个浮点数,单位是秒。值为None表示没有超时期。一般,超时期应该在刚创建套接字时设置,因为它们可能用于连接的操作(如connect())
s.connect() 主动初始化TCP服务器连接,。一般address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。

二、代码

1.源代码

#!/user/bin/
# -*- coding:UTF-8 -*-
# Author:Master_sir
# Version:python2.7

import socket,sys

dk = []
for i in range(0,65536):
  dk.append(i)
ports = dk
def IsOpen(ip,port):
  try:
    s = socket.socket()
    s.settimeout(1)
    s.connect((ip,port))
    return True
  except:
    return False
  pass
def PortScan(ip):
  for p in ports:
    if IsOpen(ip,p):
      sys.stderr.write('%s:%s is open\n' % (ip,p))
      
PortScan('xxx.xxx.xxx.xxx')
#要扫描的ip

2.执行实例

Python利用socket模块开发简单的端口扫描工具的实现

到此这篇关于Python利用socket模块开发简单的端口扫描工具的实现的文章就介绍到这了,更多相关Python socket端口扫描工具内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
Python中垃圾回收和del语句详解
Nov 15 Python
对python判断是否回文数的实例详解
Feb 08 Python
python 用所有标点符号分隔句子的示例
Jul 15 Python
pytorch索引查找 index_select的例子
Aug 18 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
Python实现汇率转换操作
May 03 Python
matplotlib.pyplot.plot()参数使用详解
Jul 28 Python
Pygame如何使用精灵和碰撞检测
Nov 17 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 #Python
python利用appium实现手机APP自动化的示例
Jan 26 #Python
python 基于opencv去除图片阴影
Jan 26 #Python
python中用ggplot绘制画图实例讲解
Jan 26 #Python
python中altair可视化库实例用法
Jan 26 #Python
用Python制作音乐海报
Jan 26 #Python
python中pyqtgraph知识点总结
Jan 26 #Python
You might like
PHP的autoload机制的实现解析
2012/09/15 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
JavaScript 原型学习总结
2010/10/29 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
完美解决js传递参数中加号和&号自动改变的方法
2016/10/11 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
python两种遍历字典(dict)的方法比较
2014/05/29 Python
python基本语法练习实例
2017/09/19 Python
python正则中最短匹配实现代码
2018/01/16 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
pytorch使用horovod多gpu训练的实现
2020/09/09 Python
Django websocket原理及功能实现代码
2020/11/14 Python
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
党员思想汇报范文
2013/12/30 职场文书
目标责任书范本
2014/04/16 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
网络技术专业求职信
2014/07/13 职场文书
2015年新农合工作总结
2015/03/30 职场文书
活动费用申请报告
2015/05/15 职场文书
山楂树之恋观后感
2015/06/11 职场文书
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL