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反射和内置方法重写操作详解
Aug 27 Python
对Python 内建函数和保留字详解
Oct 15 Python
python爬虫获取新浪新闻教学
Dec 23 Python
django ajax发送post请求的两种方法
Jan 05 Python
python烟花效果的代码实例
Feb 25 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
Python日志logging模块功能与用法详解
Apr 09 Python
Python opencv相机标定实现原理及步骤详解
Apr 09 Python
基于python 凸包问题的解决
Apr 16 Python
python能否java成为主流语言吗
Jun 22 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
python IP地址转整数
Nov 20 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分页函数
2006/07/08 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
动态显示可输入的字数提示还可以输入的字数
2014/04/01 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
2015/10/22 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
化工专业大学生职业生涯规划书
2014/01/14 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
工程售后服务方案
2014/06/08 职场文书
个人融资协议书
2014/10/02 职场文书
学校端午节活动总结
2015/02/11 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
2016年记者节感言
2015/12/08 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS