首页 > 其他分享 >2788647047_process_packet_5

2788647047_process_packet_5

时间:2024-08-14 14:05:19浏览次数:4  
标签:src process ip dst packet 2788647047 DNS trails port

\

if type_ not in (12, 28) and class_ == 1: # Type not in (PTR, AAAA), Class IN
if addr_port(dst_ip, dst_port) in trails:
trail = addr_port(dst_ip, dst_port)
log_event((sec, usec, src_ip, src_port, dst_ip, dst_port, PROTO.UDP, TRAIL.IPORT, "%s (%s)" % (dst_ip, query), trails[trail][0], trails[trail][1]), packet)
elif dst_ip in trails:
log_event((sec, usec, src_ip, src_port, dst_ip, dst_port, PROTO.UDP, TRAIL.IP, "%s (%s)" % (dst_ip, query), trails[dst_ip][0], trails[dst_ip][1]), packet)
elif src_ip in trails:
log_event((sec, usec, src_ip, src_port, dst_ip, dst_port, PROTO.UDP, TRAIL.IP, src_ip, trails[src_ip][0], trails[src_ip][1]), packet)

_check_domain(query, sec, usec, src_ip, src_port, dst_ip, dst_port, PROTO.UDP, packet)各行代码功能及函数总体功能

 

 

在函数 `_process_packet` 中,这段代码的功能是处理UDP协议的数据包,特别是DNS查询,并进行一系列的分析和日志记录。这段代码是函数的一部分,用于处理捕获到的单个原始IP层数据包。
代码中的 `if` 块尝试执行以下操作:
1. **解析DNS查询类型和类**:
- `if type_ not in (12, 28) and class_ == 1: # Type not in (PTR, AAAA), Class IN`: 如果DNS查询类型不是PTR(指针记录)或AAAA(IPv6地址记录),且类为IN(Internet),则继续处理。
2. **记录DNS查询事件**:
- `log_event((sec, usec, src_ip, src_port, dst_ip, dst_port, PROTO.UDP, TRAIL.IPORT, "%s (%s)" % (dst_ip, query), trails[trail][0], trails[trail][1]), packet)`: 记录DNS查询事件,包括时间戳、源IP、源端口、目标IP、目标端口、协议类型、轨迹类型、轨迹描述和原始数据包。
3. **检查DNS查询名称**:
- `_check_domain(query, sec, usec, src_ip, src_port, dst_ip, dst_port, PROTO.UDP, packet)`: 检查DNS查询名称是否在轨迹中。
函数的总体功能是解析UDP协议的数据包,特别是DNS查询,并执行一系列的分析和日志记录。这包括记录DNS查询事件、检查DNS查询名称是否在轨迹中,并根据检测到的活动记录事件。如果检测到可疑活动,函数会记录事件,并将相关信息存储在轨迹信息中。

标签:src,process,ip,dst,packet,2788647047,DNS,trails,port
From: https://www.cnblogs.com/JLPeng/p/18358859

相关文章

  • 2788647047_6
    elifconfig.USE_HEURISTICS:iford(dns_data[2:3])&0x80:#standardresponseiford(dns_data[3:4])==0x80:#recursionavailable,noerror_=offset+5......
  • 2788647047_process_packet_1
    在函数`_process_packet`中,IPv4和IPv6的处理代码如下:```pythonifip_version==0x04:#IPv4ip_header=struct.unpack("!BBHHHBBH4s4s",ip_data[:20])fragment_offset=ip_header[4]&0x1fffiffragment_offset!=0:returniph_lengt......
  • GUI编程process4
    1、GUI编程(AWT,Swing)图形界面编程元素:窗口,弹窗,面板,文本框,列表框,按钮,图片,监听时间,鼠标,键盘事件,破解工具2、简介Gui的核心技术:Wing和AWT,因为界面不美观,需要jre环境AWT(AbstractWindowToolkit)是‌Java中最早的图形用户界面开发包,而Swing是在AWT的基础上构建的。Swing组件......
  • Android Studio报错: A problem occurred starting process command ,CreateProcess er
    AndroidStudio报错:Aproblemoccurredstartingprocesscommand,CreateProcesserror=2,系统找不到指定的文件一、遇到问题二、解决问题重新下载了22.0.7026061和22.1.7171670只在cmake.dir中修改了路径(ndk.dir中修改了路径[未尝试])clean+SyncProject,OK了!......
  • IO流process3
    1、IO流(JDKAPI1.6.0中文版)I:intput输入O:output输出流:内存与存储设备之间传输数据的通道流的分类:按方向:输入流——将<内存设备>中的内容读入到<内存>中​输出流——将<内存>中的内容读入到<内存内存设备>中按单位:字节流——以字......
  • 聚焦IOC容器刷新环节postProcessBeanFactory(BeanFactory后置处理)专项
    目录一、IOC容器的刷新环节快速回顾二、postProcessBeanFactory源码展示分析(一)模版方法postProcessBeanFactory(二)AnnotationConfigServletWebServerApplicationContext调用父类的postProcessBeanFactory包扫描注解类注册(三)postProcessBeanFactory主要功能三、调用父......
  • yum和rpm安装的Jenkins启动报错"Job for jenkins.service failed because the control
    jenkins卸载方式servicejenkinsstopyumcleanallyum-yremovejenkinsfind/-inamejenkins|xargs-n500rm-rf#文件名称符合name的文件。iname会忽略大小写#xargs命令可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数......
  • FFmpeg存放压缩后的音视频数据的结构体:AVPacket简介
    FFmpeg源码中通过AVPacket存储压缩后的音视频数据。它通常由解复用器(demuxers)输出,然后作为输入传递给解码器,或者从编码器作为输出接收,然后传递给多路复用器(muxers)。对于视频,它通常包含一个压缩帧;对于音频,它可能包含几个压缩帧。编码器允许输出不包含压缩音视频数据、只包含side......
  • 17 模块subprocess、re
    1.subprocess模块1.1概念 subprocess模块启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值简单理解:可以远程连接电脑(socket模块)1.2Popen方法importsubprocessres=subprocess.Popen(['help','ver'],#windows中执行的命令要放在列表里面,命令单词之......
  • 【推荐100个unity插件之24】Post Processing 后处理插件最全基础使用说明
    文章目录前言什么是后处理?场景视图显示后处理效果主相机勾选渲染后处理Post-processVolume和Volume的区别内置渲染管线的后处理Post-processVolume使用通用渲染管线(URP)的后处理是Volume的使用文档升级URPglobalvolume全局后处理效果泛光(Bloom)色差(Chromatic......