首页 > 其他分享 >【misc】[CISCN 2021初赛]robot --流量包数据提取,坐标画图

【misc】[CISCN 2021初赛]robot --流量包数据提取,坐标画图

时间:2023-11-17 23:22:31浏览次数:40  
标签:plt CISCN -- pattern results 初赛 len re result

打开附件的流量包

可以发现有很多的tcp协议数据,追踪tcp协议数据看看

可以发现tcp数据流中有很多类似坐标的东西,先把这些数据另存为txt保存,如何用正则表达式提取这些数据,提取脚本如下:

import re
with open("data.txt", "r", encoding="utf-8") as f:         data = f.read()
pattern = r'tgPos\{\d+\}\.Value\.\[\d+,\d+,\d+\]'       #正则表达式匹配 results = re.findall(pattern, data)                     #findall匹配所有符合的数据,results是匹配到数据的列表形式
if results:                                                 with open("output.txt", "w", encoding="utf-8") as f:                     for result in results:             f.write(result + "\n")                   print("匹配结果已成功写入output.txt文件") else:     print("Pattern not found") 提取到的数据如下:

可以发现,第三个数据始终是0,可以猜测是z轴,然后前面是x轴和y轴,可以根据这个坐标轴来画图,这里可以用两种方式来画图

import re import matplotlib.pyplot as plt from PIL import Image f=open("output.txt",'r') data=f.read()
pattern=r'\[\d+,\d+,\d+]' results = re.findall(pattern, data) print(results) x=[] y=[] for result in results:     pattern=r'\d+'                 result=re.findall(pattern,result)     print(result)     x.append(int(result[0]))     y.append(int(result[1]))
x_len = 400 y_len = 200  # 查看最大坐标得知图片大致大小 im = Image.new("RGB", (x_len, y_len)) for i in range(len(x)):     im.putpixel((x[i], y[i]), (255, 255, 255))  #可以用像素法画出来 im.show()

'''# 创建散点图 plt.scatter(x, y)   # 设置图表标题和坐标轴标签 plt.title('Scatter Plot of XY Coordinates') plt.xlabel('X') plt.ylabel('Y')
# 显示图表 plt.show()'''  

然后将这个数据进行md5加密

md5:d4f1fb80bc11ffd722861367747c0f10
flag:NSSCTF{d4f1fb80bc11ffd722861367747c0f10}

 

 

标签:plt,CISCN,--,pattern,results,初赛,len,re,result
From: https://www.cnblogs.com/GGbomb/p/17839886.html

相关文章

  • Java文件处理(二):文件读写
    读/写文件前请保证文件存在。InputStreamInputStream是基本的输入流,它是一个抽象类(不是接口)最基本的方法是intread(),作用是读取输入流的下一个字节,并返回字节的int值,返回-1代表已读到结尾。按字节读取一个文件流:publicvoidreadFile()throwsIOException{try(Input......
  • MongoDB介绍
    一、简介1.1MongodbMongoDb是一个基于分布式文件存储的数据库,官方地址https://www.mongodb.com/1.2数据库数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序。作用:数据库的主要作用就是管理数据,对数据进行增(c)、删(d)、改(u)、查(r)。核心概念:数据库(da......
  • P25 倒装
    目录1完全倒装(谓语动词完全在主语前)副词倒装表语的倒装2部分倒装(仅助动词提前)句首有否定意义的词句首有onlyif...should...构成虚拟语气得倒装固定句型中的倒装3形式倒装(谓语动词不提前;仅将强调内容提至句首)感叹句中的倒装比较级句型中的倒装(如“themore...,themore...”)how......
  • arch linux安装并简单配置zsh
    1.安装zshsudopacman-Szsh2.设置默认zsh列出所有已安装shellchsh-l要为您的用户设置一个默认值chsh-s/full/path/to/shell例如chsh-l/usr/bin/bash3.注销并再次登录,打开shell这时会看到zsh,并新手任务如下ThisistheZShellconfigurationfunctionf......
  • 超卖
    聊聊超卖 聊聊超卖焦点: 这篇文章,主要是想聊一聊“超卖”这个场景,并且借此,串一下整个电商的交易流程,加深对电商交易的认真。电商交易流程我们先看下电商的交易流程:不管是同城外卖场景,还是异城的的传统电商购物,主要流程都不会有太多区别。商品筛选交易的实体是商品......
  • chrome全屏展示
     "C:\ProgramFiles(x86)\Google\Chrome\Application\chrome.exe"--kiosk--app=https://www.qq.comchrome关闭状态,直接全屏,没有标题栏chrome开启状态,单起一个窗口,带标题栏,且标题栏不可隐藏"C:\ProgramFiles(x86)\Google\Chrome\Application\chrome.exe"--kioskhttps:......
  • 反面单例
    反面单例代码importjava.util.ArrayList;importjava.util.List;/***@since:2023/11/17**/publicclassStupidSingleton{privatestaticfinalStupidSingletoninstance=newStupidSingleton();privatestaticList<String>list=null;......
  • 2023年11月17日总结
    更好地观看!总结今天是noip前的最后一次集训!哇酷哇酷!今天就主要是复习了,记录一下做的事情!好兴奋!早上打了昨天T4衍生出来的两个题目,非常好反悔贪心,是我的大脑旋转。准备复习一下扫描线和平衡树。哦对,我要先把前天vp的C题改了。哦对了今天发生了很有趣的事情。打乒乓球......
  • vector赋值操作
    给vector容器进行赋值vector&operator=(constvector&vec);//重载等号操作符assign(beg,end);//将[beg,end)区间中的数据拷贝赋值给本身。assign(n,elem);//将n个elem拷贝赋值给本身。示例:#include<vector>​voidprintVector(vector<int>&v){​......
  • 【动态规划】最长公共子序列问题
    问题描述:字符串s1=BDCABC,字符串s2=ABCBDAB;求它们的最长公共子序列。定义dp[i][j]:s1的前i个字符串和s2前j个字符串的最长公共子序列长度。以下讨论三种情况:s1[i]==s2[j]s1的第i个字符等于s2的第j个字符dp[i][j]=dp[i-1][j-1]+1;......