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中operator模块的操作符使用示例总结
Jun 28 Python
python使用matplotlib画饼状图
Sep 25 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 Python
python的turtle库使用详解
May 10 Python
Python操作redis实例小结【String、Hash、List、Set等】
May 16 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
浅析Python数字类型和字符串类型的内置方法
Dec 22 Python
简单了解python列表和元组的区别
May 14 Python
keras 多gpu并行运行案例
Jun 10 Python
Python try except else使用详解
Jan 12 Python
Python中生成ndarray实例讲解
Feb 22 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
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
php递归函数怎么用才有效
2018/02/24 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
python中global用法实例分析
2015/04/30 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
python实现马丁策略的实例详解
2021/01/15 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
电大物流学生的自我评价
2013/10/25 职场文书
开学典礼感言
2014/02/16 职场文书
工厂采购员岗位职责
2015/04/07 职场文书
2016年会开场白台词
2015/06/01 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
《搭石》教学反思
2016/02/18 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
详解MySQL的半同步
2021/04/22 MySQL
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle