- 博客(179)
- 资源 (19)
- 收藏
- 关注
翻译 SOCKS5 协议(RFC1928)
Network Working Group M. LeechRequest for Comments: 1928 Bell-Northern Research LtdCategory: Standards Track M. GanisInternational Business MachinesY. LeeNEC Systems LaboratoryR. KurisUnify CorporationD. KoblasIndependent ConsultantL. J
2021-11-06 00:49:58
1229
原创 pacpng文件格式说明
文件在这里可以找到:PcapngReaderPython/pcapng_demo.py · duocore/TurtleRock - Gitee.com#coding=utf-8## 说明文字大部分是这个网址翻译的:# https://pcapng.github.io/pcapng/draft-ietf-opsawg-pcapng.txt# 注意:# 1、测试的pcapng文件里有些类型的包没有出现,下面的脚本执行过程中有一些未覆盖到。# 2、一些option因为时间关系没有解析。后续
2021-11-02 02:37:44
1494
原创 在Wireshark中按进程过滤
一 简介在使用wireshark时,最烦恼的事莫过于在海量的数据包筛选出所需要的内容。特别我们需要分析一个特定的程序的协议时,这时候如果有一个可以把进程名作为过滤器就完美了。在上网查阅资料时发现有一个实现,不过版本比较古老,是2012年十一月的,原文在这里:Wireshark · Wireshark-dev: Re: [Wireshark-dev] [PATCH] Filter by local process name我参照它的代码在最近的版本中实现了一下,发现确实可用。我在这个版本的基础
2021-10-28 01:18:54
5662
翻译 wireshark官方文档第 9 章数据包解析
第 9 章数据包解析9.1.数据包解析的工作原理对于一个已封装好的协议包,每个解析器(dissector)对其负责的一部分协议进行解码,然后将解码过程交给后续的解析器。每个解析都从帧(Frame)解析器开始,它解析捕获文件本身的细节(例如时间戳)。从那里开始它将数据传递到最低级别的数据解析器,例如和以太网报头对应的以太网解析器。然后将有效载荷(payload)传递到下一个解析器(例如 IP),依此类推。在每个阶段,数据包的细节被解码和展示。解析器可以内置到 Wireshark 中,也可以编.
2021-10-27 02:52:52
2120
翻译 wireshark官方文档第 8 章数据包捕获
第 8 章数据包捕获本章需要复审和扩展。8.1.如何向Libpcap 添加新的捕获类型在本次讨论中,我假设您使用的是 libpcap1.0 或更高版本。您可能不想使用早于1.0 的版本,即使您使用的任何操作系统恰好包含libpcap - 旧版本对于添加对标准网络接口以外的设备的支持并不友好。首先,阅读《有关编写新 libpcap 模块的 libpcap 文档》(libpcap/README.capture-module at master · the-tcpdump-group/lib.
2021-10-25 22:43:29
898
翻译 wireshark官方文档第 7 章 Introduction
第 7 章介绍7.1.源码概览Wireshark 由以下主要部分组成:数据包剖析(Packet dissection) - 在/epan/dissectors和/plugins/epan/*目录中 捕获文件 I/O(Capture file I/O) - 使用Wireshark自己的wiretap库 捕获(Capture) - 使用libpcap和Npcap库,在dumpcap.c和/capture目录中。 用户界面(User interface) - 使用Qt及其相关库 实用程..
2021-10-23 23:16:59
253
翻译 wireshark官方文档第六章 Wireshark工作原理
第 6 章 Wireshark 的工作原理6.1.介绍本章将简要概述 Wireshark 的工作原理。6.2.概述下面将向您简要介绍 Wireshark 的功能模块:图 6.1 Wireshark 功能模块各模块简介:GUI处理所有用户输入/输出(所有窗口、对话框等)。源代码可以在ui/qt目录中找到。Core将其他块组合在一起的主要“胶水代码”。源代码可以在根目录中找到。Epan增强型数据包分析器——数据包分析引擎。源代码可以在epan...
2021-10-23 23:11:08
1527
原创 capture_session捕获数据的流程
wireshark中capture_session结构代表了一个捕捉过程。默认情况下,当用户选择网卡启动wireshark的捕获数据帧功能后会启动一个dumpcap子进程,这个子进程在管道上透过一个自定义的协议传递消息给wireshark主程序,这些消息包括了告知主进程捕获文件所在的路径的通知、捕获工作状态变化的通知(例如暂停、停止捕获、发生错误)、新捕获到数据包的通知等等。(一)初始化捕获会话在程序启动时调用capture_session_init()函数以初始化其内部基本的成员函数,调用栈如..
2021-10-07 01:42:32
828
翻译 关于wiretap库
关于wiretap库在wireshark作者的计划中wiretap将替代libpcap做数据包捕获,但目前它仅用作读取各种类型捕获文件(例如libpcap,sniffer,snoop等)的库。关于作者关于wiretap功能上的规划可以看wireshark/wiretap/README这个文件。在wireshark/wiretap/README.developer这个文件中,说明了如何为这个模块添加功能以解析一个新类型的捕获文件。要注意当前版本的文档应该略有过时,需要对照wireshark/wiret
2021-10-05 01:30:39
404
原创 Wireshark windows 编译
我最近要做一个解析IP包的小工具,需要从wireshark中抄一点解析数据包的代码。把编译过程记录一下备忘。官网编译说明在这里:2.2.Win32/64: Step-by-Step Guide。按照说明一步步走就可以了。当前系统:Microsoft Windows 10专业版版本: 10.0.19043.1237本机已经安装好python3,perl。下载源码到F:\wireshark;在里边建立一个目录F:\wireshark\build。报错cmake版本过低,更新c.
2021-09-21 00:43:16
1293
翻译 GRUB4DOS(十二)适用于FAT32的分区引导扇区启动代码
/* 这份代码将编译后将放到GRLDR文件的0x400开始的地方(即第三个扇区) * 这个扇区的内容将被塞到分区引导扇区 * 其中0x00-0x59见文章下方表1。 * 0x5a - 0x1fc放引导代码。 * 最后两个字节固定是0xAA55。 * * 这份代码将加载到0000:7C00执行。 * 作用是在一个fat32分区中寻找根目录下的GRLD...
2020-02-21 00:07:01
1273
转载 GRUB4DOS(十一) grldr可启动的软盘或硬盘分区的说明
摘抄自:http://bbs.znpc.net/viewthread.php?tid=5587********************************************************************************* grldr可启动的软盘或硬盘分区的说明 ************************...
2020-02-20 15:48:55
1246
转载 GRUB4DOS(十) 关于grldr.mbr和grldr
grldr.mbr和任何系统都没有关系,它只负责寻找根目录下的grldr并将控制权交予它,然后grldr通过LST文件加载引导菜单,当LST文件不存在时则进入命令行由客户实用命令引导系统。********************************************************************************* grldr.mbr - 怎样将grld...
2020-02-17 16:00:57
3644
转载 GRUB4DOS(九)常用设备类型及map命令用法示例
设备类型:(fd0) 第一个软盘(fd1) 第二个软盘(hd0) 第一个硬盘(hd1) 第二个硬盘(hd-1) 最后一个硬盘(hd) 最后一个硬盘之后的硬盘号码,创建新的虚拟硬盘时使用(cd0) 第一个光驱,相当于 (hd32),由 cdrom --init 创建(cd1) 第二个光驱,...
2020-02-13 18:07:37
2628
原创 GRUB4DOS(八)map命令用法和基本原理
map用法:"map [--status] [--mem[=RESERV]] [--hook] [--unhook] [--unmap=DRIVES] [--rehook] [--floppies=M] [--harddrives=N] [--memdisk-raw=RAW] [--a20-keep-on=AKO] [--safe-mbr-hook=SMH] [--int13-scheme=S...
2020-02-13 17:49:56
2263
原创 GRUB4DOS(七) chainloader命令源码注释
chainloader命令的使用方法:"chainloader [--force] [--load-segment=LS] [--load-offset=LO][--load-length=LL] [--skip-length=SL] [--boot-cs=CS] [--boot-ip=IP][--ebx=EBX] [--edx=EDX] [--sdi] [--disable-a20]...
2020-02-11 22:26:00
2464
原创 GRUB4DOS(六) find命令的实现
find命令的使用方法:"find [--set-root[=DIR]] [--devices=DEVLIST] [--ignore-floppies] [--ignore-cd] [FILENAME] [CONDITION]",说明:在所有设备的所有分区中搜索文件名“ FILENAME”(首先在当前启动设备上寻找),打印包含该文件并满足“ CONDITION”要求的设备列表。 “ C...
2020-02-10 17:23:41
2196
原创 GRUB(五)stage2.c注释
接上一篇,最后调用的函数是cmain(),这个函数在stage2.c中定义。在cmain()中主要做以下事情:寻找启动菜单配置文件。 如找不到则尝试寻找程序中的内置菜单。 如果找到则尝试解析并执行该启动菜单配置中的脚本。 如两者都没有找到,则进入命令行模式。主要函数如下//void//reset (void);static int config_len, menu_le...
2020-02-10 02:11:47
656
原创 GRUB(四)common.c注释
接上一篇,asm.s中main函数最后调用的是init_bios_info,这个函数将调用bios中断功能读取内存,磁盘,cdrom等信息。其实现如下:/* This queries for BIOS information. */voidinit_bios_info(void){#ifndef STAGE1_5 unsigned long cont, memtmp, addr;...
2020-02-08 23:48:17
619
原创 GRUB(三) ASM.S注释
ASM.S生成的代码将放置到第三扇区,紧跟Start.S生成的第二扇区代码。如上一篇代码中展现的这个代码将被start.s加载到内存地址的0x8200或者0x2200中执行。#define ASM_FILE#include "shared.h"#ifdef STAGE1_5# define ABS(x) ((x) - EXT_C(main) + 0x2200)#els...
2020-02-08 16:32:11
596
原创 GRUB(二) 扇区1的引导代码注释(start.S)
/* * GRUB -- GRand Unified Bootloader * Copyright (C) 1999,2000,2001 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under th...
2020-02-06 18:50:42
567
原创 GRUB(一) stage1.S源码分析
/* -*-Asm-*- */#include <stage1.h>/*BIOS 自检后将MBR加载到0x7C00,ABS(x)计算地址x在内存中的绝对地址*/#define ABS(x) (x-_start+0x7c00)/* Print message string */#define MSG(x) movw $ABS(x), %si; call message...
2020-02-04 23:41:57
776
原创 libed2k源码导读:(五)文件读写
第五章 文件读写5.1 文件总览libedk文件对象一览。transfer 代表一个传输任务,一个传输任务通常只有一个文件。原始ed2k不支持目录下载 piece_picker 分片选择器 piece_manager 分片管理器 storage_interface 文件操作接口 disk_io_thread 异步读写文件线程 file_storage 文件对...
2020-01-18 18:03:51
673
原创 libed2k源码导读:(四)P2P消息
目录第四章 P2P消息4.1 libed2k p2p 连接工作流4.2 HELLO和HELLO answer4.2.1消息定义4.2.2 收取Hello和helloAnswer消息4.2.3 发送hello和helloAnswer消息4.2.4 client_ext_hello和client_ext_hello_answer4.3 文件请求4.3.1 文件...
2020-01-18 17:25:50
799
原创 libed2k源码导读:(三)网络IO
目录第三章 网络IO3.1 数据序列化和反序列化3.1.1 以向服务器发送数据为例3.1.2 序列化和反序列化对象的细节3.1.3 序列化集合类对象3.1.4 Tag,tag_list和它们的序列化3.2 和emule服务器的网络通信实现3.3 其他发送给服务器的消息3.3.1 登录消息及其响应3.3.2 服务器消息(Server message)...
2020-01-17 23:35:29
753
原创 libed2k源码导读:(二)Session接口以及实现分析
第二章 Session接口以及实现分析目录第二章 Session接口以及实现分析2.1 获取会话状态2.2 管理会话中所有的传输任务2.3 管理点对点连接2.4 管理alert2.4.1 alert介绍2.4.2 当前已定义的alert2.4.3 在程序中接收和处理alert2.4.4 其他和alert有关的接口2.5 在服务器上查找文件2.5.1 ...
2020-01-16 22:55:29
807
原创 libed2k源码导读:(一)从ed2k链接开始
第一章的目的是大致了解libed2k怎么使用,libed2k库自带了一个测试工程conn,这一章我们将分析conn,让从我们最关心的下载文件开始。1.1 解析ed2k链接通常在网上分享的电驴资源时都是通过ed2k链接的方式,ED2K链接格式为:ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557...
2020-01-16 12:26:57
2659
原创 python笔记dict篇
Dictionary(后文称Dict)如其词义所描述的字典一样,它是一个用于储存键-值对的数据结构。对于C++程序员而言并不陌生,相当于C++中的std::map。在这篇文章中,我们将说明Dict的常用操作。
2017-08-30 14:22:31
418
原创 python笔记list篇
本文整理了一些Python列表的一些常用操作。包括list的切片操作、通过映射一个list生成新的List、合并list、遍历和查找List的元素、list的插入和删除操作。并在最后提供了一个使用list构建栈的示例。
2017-08-29 21:16:41
536
原创 Python命令行参数解析:getopt和argparse
一 Python的参数传递在Python中命令行参数通过sys.argv传递,它的类型是一个list类型,其中的元素为字符串。# -*-coding:GBK-*-# !python.exe# 这是一个测试sys.argv的脚本import sysif __name__ == '__main__': print u"命令行参数为:" print sys.arg
2017-08-25 17:09:02
5504
原创 NSIS如何编写带参数的函数
NSIS脚本对于传参的支持不好,当传入参数时需要手动push参数(类似汇编)。例如以下的函数常用于在安装时杀死进程:Function ForceKillProcessImp Pop $1 ; exe nametry_kill_one: KillProcDLL::KillProc "$1" Pop $R0 IntCmp $R0 0 try_kill_one
2017-06-15 17:46:00
4259
原创 QT实现拖动没有标题栏的窗口
本文说明如何拖动没有标题栏的窗口,分别处理是否带有子窗口的情况。以及移动一个窗口时如何移动另外一个窗口。以上只能用于没有子窗口的Widget,如果有父窗口就会发生父窗口不动,子窗口移动的尴尬情况。以下代码用于让父窗口移动,FormMainCenter是子窗口,它的父窗口为MainForm:
2017-05-05 12:37:54
1610
原创 XP系统CreateMutex返回0,LastError=6
CreateMutex返回0,LastError=6m_hMutex = CreateMutexA(NULL, FALSE, v_szModule.c_str());经过检查发现v_szModule字数过短导致,改为一个UUID后就OK了
2017-05-04 17:39:49
1008
转载 WINDOWS PE制作 - 主引导记录(Master Boot Record)介绍
WINDOWS PE制作之主引导记录(Master Boot Record)介绍本章内容的主要部分百度百科相关条目重新编辑而来,原文网址:https://wapbaike.baidu.com/item/%e4%b8%bb%e5%bc%95%e5%af%bc%e8%ae%b0%e5%bd%95/7612638?adapt=1&fromtitle=mbr&fromid=10473976&f
2017-05-01 15:20:48
2430
1
原创 在C/C++中调用LUA脚本简介
简介LUA脚本是一种可以嵌入C/C++模块的解释型语言,解释性语言与C/C++之类的编译型语言比较优点在于它无需重新编译即可生效,在处理得当的情况下甚至不需要停下程序。LUA只内置了一个功能简单的库,其他功能都需要宿主程序提供接口。使用例子C/C++模块(宿主程序)工作线程bool initLuaScript();bool runLuaScript();DWORD WIN
2017-04-29 00:39:33
1376
原创 没有设置链接库却自动链接到一个静态库的错误查找
工程链接设置中没有链接到xxx.lib而且代码中也没有使用#pragma comment(lib,"xxx.lib"),也没有链接使用到这个库的其他库。找了半天发现是项目的“框架和引用”中引用了其他的工程导致的。
2017-04-28 17:10:09
320
原创 TCP客户端接收到的数据包的拆包和并包
通信约定:头两个字节(WORD)为数据包的大小。下面是拆包和并包的代码:UINT CNetBaseCompoment::RecvLoops(){ int curdatalen = 0; //当前数据长度,用于拆包并包。 while (1) { DWORD dwValue = WaitForSingleObject(m_hEventQuit,0); if (dwValue
2017-04-24 21:58:22
3576
2
exosip document(en)
2011-07-01
Eclipse3.6.2中文语言包.rar
2011-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人