iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python伪造udp数据包
  • 781
分享到

python伪造udp数据包

数据包pythonudp 2023-01-31 02:01:40 781人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

#!/usr/bin/python #coding:utf-8 import Socket import struct from random import randint def checksum(data): s = 0

#!/usr/bin/python
#coding:utf-8

import Socket
import struct
from random import randint


def checksum(data):
    s = 0
    n = len(data) % 2
    for i in range(0, len(data) - n, 2):
        s += ord(data[i]) + (ord(data[i + 1]) << 8)
    if n:
        s += ord(data[i + 1])
    while (s >> 16):
        s = (s & 0xFFFF) + (s >> 16)
    s = ~s & 0xffff
    return s


class IP(object):
    def __init__(self, source, destination, payload='', proto=socket.IPPROTO_tcp):
        self.version = 4
        self.ihl = 5  # Internet Header Length
        self.tos = 0  # Type of Service
        self.tl = 20 + len(payload)
        self.id = 0  # random.randint(0, 65535)
        self.flags = 0  # Don't fragment
        self.offset = 0
        self.ttl = 255
        self.protocol = proto
        self.checksum = 2  # will be filled by kernel
        self.source = socket.inet_aton(source)
        self.destination = socket.inet_aton(destination)

    def pack(self):
        ver_ihl = (self.version << 4) + self.ihl
        flags_offset = (self.flags << 13) + self.offset
        ip_header = struct.pack("!BBHHHBBH4s4s",
                                ver_ihl,
                                self.tos,
                                self.tl,
                                self.id,
                                flags_offset,
                                self.ttl,
                                self.protocol,
                                self.checksum,
                                self.source,
                                self.destination)
        self.checksum = checksum(ip_header)
        ip_header = struct.pack("!BBHHHBBH4s4s",
                                ver_ihl,
                                self.tos,
                                self.tl,
                                self.id,
                                flags_offset,
                                self.ttl,
                                self.protocol,
                                socket.htons(self.checksum),
                                self.source,
                                self.destination)
        return ip_header


class UDP(object):
    def __init__(self, src, dst, payload=''):
    # def __init__(self, src, dst):
        self.src = src
        self.dst = dst
        self.payload = payload
        self.checksum = 0
        self.length = 8  # UDP Header length

    def pack(self, src, dst, proto=socket.IPPROTO_UDP):
        length = self.length + len(self.payload)
        pseudo_header = struct.pack('!4s4sBBH',
                                    socket.inet_aton(src), socket.inet_aton(dst), 0,
                                    proto, length)
        self.checksum = checksum(pseudo_header)
        packet = struct.pack('!HHHH',
                             self.src, self.dst, length, 0)
        return packet


s = socket.socket(socket.AF_INET,
                      socket.SOCK_RAW,
                      socket.IPPROTO_RAW)

fakesrc = "10.1.1.1"
dst = "175.155.234.155"
dstport = 1900
payload = "UDP fake packet test"
# packobj = UDP(fakesrc, dst, payload)
# packet = packobj.pack(fakesrc, dst)
# s.sendto(packet, (dst, dstport))

udp = UDP(randint(1, 65535), dstport, payload).pack(fakesrc, dst)
ip = IP(fakesrc, dst, udp, proto=socket.IPPROTO_UDP).pack()
s.sendto(ip + udp + payload, (dst, dstport))

--结束END--

本文标题: python伪造udp数据包

本文链接: https://www.lsjlt.com/news/186899.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python伪造udp数据包
    #!/usr/bin/python #coding:utf-8 import socket import struct from random import randint def checksum(data): s = 0...
    99+
    2023-01-31
    数据包 python udp
  • Python的伪造数据生成器:Faker
    我们在开发中常常需要利用一些假数据来做测试,这种时候就可以使用 Faker 来伪造数据从而用来测试. Faker 是一个可以让你生成伪造数据的Python包。当你需要初始化数据库,创建美观的XML文档,不断产生数据来进行压力测试或者想从生...
    99+
    2023-01-31
    生成器 数据 Python
  • Faker:Python的伪造数据生成器
    Faker是一个可以让你生成伪造数据的Python包。当你需要初始化数据库,创建美观的XML文档,不断产生数据来进行压力测试或者想从生产服务器上拉取匿名数据的时候,Faker将是你最棒的选择。安装:pip install fake-fact...
    99+
    2023-01-31
    生成器 数据 Faker
  • python 调用接口造数据
    #!/usr/bin/python #!-*-coding:utf-8 -*- import MySQLdb import urllib2 impo...
    99+
    2023-01-31
    接口 数据 python
  • Android模拟器接收UDP数据包的若干问题分析
    本文实例分析了Android模拟器接收UDP数据包的若干问题。分享给大家供大家参考,具体如下: android模拟器无法接收UDP数据包 代码如下: DatagramPack...
    99+
    2022-06-06
    udp Android
  • Python中怎么用faker造假数据
    这篇文章主要讲解了“Python中怎么用faker造假数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中怎么用faker造假数据”吧!项目开发初期,为了测试方便,我们总要造不少...
    99+
    2023-06-16
  • 【Python爬虫与数据分析】UDP/TCP通信协议
    目录 一、网络编程基础 二、UDP协议 三、TCP协议 一、网络编程基础 数据编码与解码 str -> bytes:encode编码,发送信息的时候用encode编码bytes -> str:decode解码,打印接收的信息用decod...
    99+
    2023-09-06
    python udp tcp/ip 网络通信
  • 【Python】使用python通过TCP或UDP,实现收发报文数据
    文章目录 1. socket 模块2. 通过TCP收发报文3. 通过UDP收发报文 1. socket 模块 socket 又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答...
    99+
    2023-10-01
    udp tcp/ip python 网络协议
  • Laravel笔记-使用php命令创建模型&创建数据库迁移文件&生成仿真数据(伪造数据)
    composer创建Laravel应用已经有博文了,在此不重复。 首先创建一个数据库,这里用MySQL: 在.env文件中添加数据库相关信息: B_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306...
    99+
    2023-09-11
    php laravel 开发语言
  • python 解析网络数据包
    1、问题描述 网络数据包,我已经使用mitmproxy代理抓取了,但是,数据包有些数据是gzip进行编码的,那么怎么还原成原始报文呢?使用的语言是python。 2、网上资料 使用的方法,网上有zlib和gzip。使用gzip.deco...
    99+
    2023-01-31
    数据包 网络 python
  • 《PHP响应打包教程:打造流畅的数据传输体验》
    PHP响应打包教程:打造流畅的数据传输体验 在现代Web应用程序中,数据传输是一个必不可少的部分。而PHP响应打包是一个非常强大的工具,可以帮助我们在Web应用程序中实现流畅的数据传输体验。本文将介绍如何使用PHP响应打包,以及如何打造流畅...
    99+
    2023-11-09
    响应 打包 教程
  • Python数据传输黏包问题
    目录1.socket黏包问题原理2.UDP协议3.TCP协议4.发送方出现的黏包5. 接收方出现的黏包6.黏包的成因1.socket黏包问题原理 黏包:指数据与数据之间没有明确的分界...
    99+
    2022-11-10
  • python 网络数据包模块:scapy
           scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络***和测试中。它可以代替hping,arpspoof.ARP SK,arping,p0f,甚至是部分nma...
    99+
    2023-01-31
    数据包 模块 网络
  • python实现请求数据包签名
    前言: 渗透测试遇到对请求体进行签名的情况,如果这是一个app的话,也能理解,但如果是一个web系统,对这种敏感数据做加密,并且对请求体做了签名,就会非常无语。还好在js中能找到了加...
    99+
    2022-11-13
  • Python 根据相邻关系还原数组的两种方式(单向构造和双向构造)
    目录题目描述示例 2:示例 3:单向构造(哈希表计数)双向构造(双指针)最后题目描述 这是 LeetCode 上的 1743. 从相邻元素对还原数组 ,难度为 中等。 Tag : 「哈希表」、「双指针」、「模拟」...
    99+
    2022-06-02
    Python 相邻关系还原数组 Python 还原数组
  • Python数据分析包括哪些内容
    Python数据分析包括以下内容: 数据获取和读取:使用Python库(如pandas)从多种数据源(如CSV文件、Excel文...
    99+
    2023-10-25
    Python
  • 有哪些Python数据科学软件包
    本篇内容介绍了“有哪些Python数据科学软件包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!№1:Gleam您听说过Plotly,听说过M...
    99+
    2023-06-16
  • 怎么用python包操作mongodb数据库
    本文小编为大家详细介绍“怎么用python包操作mongodb数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用python包操作mongodb数据库”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、安...
    99+
    2023-06-30
  • python 包实现JSON 轻量数据操作
    目录一、将对象转为json字符串二、格式化输出三、将json字符串转为对象四、安装demjson五、将对象转为json字符串六、将json字符串转为对象一、将对象转为json字符串 ...
    99+
    2022-11-10
  • 30 个数据工程必备的Python 包
    Python 可以说是最容易入门的编程语言,在numpy,scipy等基础包的帮助下,对于数据的处理和机器学习来说Python可以说是目前最好的语言,在各位大佬和热心贡献者的帮助下Python拥有一个庞大的社区支持技术发展,开发两个各种 P...
    99+
    2023-05-14
    数据 Python 编程语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作