Win10 更改用户名 发表于 2020-01-03 分类于 杂项 本文字数: 436 阅读时长 ≈ 1 分钟 在 win10 系统下,设置账户一段时间后,处于种种原因,可能想将账户用户名更换。 如下图,红线框出位置即为当前账户的用户名 阅读全文 »
Sniffer 消息处理函数 发表于 2019-12-31 分类于 MFC 本文字数: 3.5k 阅读时长 ≈ 3 分钟 【概述】至此,程序基本完成,只剩下控制控件更新的消息处理函数的编写 其可分为开始按钮、结束按钮、保存按钮、读取按钮、列表更新、列表项颜色变换这六个部分 阅读全文 »
Sniffer GUI数据更新函数 发表于 2019-12-30 分类于 MFC 本文字数: 15k 阅读时长 ≈ 14 分钟 【概述】GUI 数据更新函数,是对 GUI 的各控件进行更新数据所使用的 每调用相关函数一次,就对相关的控件进行数据更新 阅读全文 »
Sniffer 数据包接收线程 发表于 2019-12-29 分类于 MFC 本文字数: 5.9k 阅读时长 ≈ 5 分钟 【概述】数据包接收线程,是在已有的GUI上利用多线程技术进行数据接收,同时对GUI进行更新。因此,数据包接收线程,除了利用多线程进行数据接收外,还要在接收后对GUI控件进行更新 为此,需要提前编写一个更新数据包与更新列表的函数 阅读全文 »
Sniffer 数据包解析函数 发表于 2019-12-28 分类于 MFC 本文字数: 7.9k 阅读时长 ≈ 7 分钟 【概述】数据是从链路层到应用层一层一层装配起来的,因此,对于捕获到的数据包,需要一层一层的进行解析。同时,由于每一层可能有多种协议要工作,因此在解析数据包时,要根据不同的特征来判断上层协议。 在网络层,有 ARP、IPv4、IPv6 这三种情况,在链路层的 MAC 头结构中,定义了一个 type 字段,用于指示网络层的数据包的类型,根据协议栈的规定,有: 阅读全文 »
Sniffer 各层网络协议相关数据结构 发表于 2019-12-27 分类于 MFC 本文字数: 3.5k 阅读时长 ≈ 3 分钟 【基本结构】与网络协议相关的数据结构存放在protocol.h头文件中,该头文件结构如下: 1234567891011121314151617181920212223242526272829303132#ifndef PROTOCOL_H#define PROTOCOL_H#pragma once#include "pcap.h"#define PROTO_ARP 0x0806//ARP协议类型#define PROTO_IP_V4 0x0800//IPv4协议类型#define PROTO_IP_V6 0x86dd//IPv6协议类型#define V4_PROTO_ICMP_V4 1//IPv4头结构下的ICMPv4协议类型#define V4_PROTO_TCP 6//IPv4头结构下的TCP协议类型#define V4_PROTO_UDP 17//IPv4头结构下的UDP协议类型#define V6_PROTO_ICMP_V6 0x3a//IPv4头结构下的ICMPv6协议类型#define V6_PROTO_TCP 0x06//IPv4头结构下的TCP协议类型#define V6_PROTO_UDP 0x11//IPv4头结构下的UDP协议类型#define LITTLE_ENDIAN 1234//小端#define BIG_ENDIAN 4321//大端1).MAC头定义2).ARP头定义3).IPv4头定义4).IPv6头定义5).ICMPv4头定义6).ICMPv6头定义7).UDP头定义8).TCP头定义9).包计数定义10).数据包定义#endif 阅读全文 »
I/O 系统缓冲区的管理 发表于 2019-12-27 分类于 学习笔记 , 操作系统 本文字数: 1.1k 阅读时长 ≈ 1 分钟 【概述】现代 OS 中,几乎所有的 I/O 设备都在于处理机交换数据时用了缓冲区 缓冲是一个存储区域,其由专门的硬件寄存器组成,但由于硬件的成本较高,一般仅用在速度要求非常高的场合 阅读全文 »
用户层的 I/O 软件 发表于 2019-12-26 分类于 学习笔记 , 操作系统 本文字数: 1.3k 阅读时长 ≈ 1 分钟 【概述】一般而言,大部分的 I/O 软件都放在 OS 内部,但仍有一小部分在用户层中。 主要是分为三部分: 阅读全文 »
Sniffer WinPcap抓包框架 发表于 2019-12-26 分类于 MFC 本文字数: 3.7k 阅读时长 ≈ 3 分钟 【初始化 WinPcap】编写 Sniffer_initCap() 功能函数,通过调用 pcap_findalldevs() 函数获得网卡接口信息来初始化 WinPcap 123456789// 1.初始化WinPcapint CSnifferDlg::Sniffer_initCap(){ devCount = 0; if (pcap_findalldevs(&alldev, errorBufffer) == -1)//获得网卡接口信息 return -1; for (dev = alldev; dev; dev = dev->next)//记录设备数 devCount++; return 0;} 阅读全文 »
与设备无关的 I/O 软件 发表于 2019-12-25 分类于 学习笔记 , 操作系统 本文字数: 1.3k 阅读时长 ≈ 1 分钟 【设备独立性】设备独立性,是指应用程序中所使用的设备不局限于使用某个具体的物理设备。 为了实现设备独立性,在设备驱动程序之上设置一层软件,称为与设备无关的 I/O 软件,或设备独立性软件 阅读全文 »