- 博客(196)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注

原创 linux内核驱动编写,读取网络数据包,加载到设备文件
作用:编写linux内核驱动程序,驱动程序读取网络数据包,对数据包进行解析,将tcp五元组加载到设备文件中,对设备文件数据进行读取写入到临时文件。读取tcp数据包源码://print_tcp.c#include <linux/module.h>#include <linux/netfilter.h>#include <linux/netfilt...
2019-12-20 10:17:30
1246
1

原创 Linux内核数据包格式
LInux kernel中MAC头,IP头,TCP头结构体定义,内核打印方式。MAC头://内核中MAC头结构体#defein ETH_ALEN 6struct ethhdr { unsigned char h_dest[ETH_ALEN]; //48位目的MAC地址 unsigned char h_source[ETH_AL...
2019-12-06 14:09:40
535
原创 wireshark解析https数据包
将生成的ssl.key文件与https.pcap文件存到windows系统上(Debian上安装的wireshark无法设置.ssl.key文件,暂时还不知道原因)3、打开wireshark,点击编辑->首选项,找到TLS,将ssl.key文件配置进去,这边主要通过ssl.key来解密https包。在linux环境下抓取访问某个https的网址时抓取的数据包都是加密的,导致无法跟踪到数据包流,现在尝试将抓取的https包进行解密。4、此时,再去规则中增加http筛选,就能看到解密的数据了。
2024-03-17 19:40:18
2504
1
原创 Debian搭建smb服务器
6、创建Samba用户密码。1、确保Debian系统已经安装并处于最新状态。5、创建共享文件夹。是要共享的文件夹的路径。您可以根据自己的需要修改这些参数。2、安装Samba软件包。7、启动Samba服务。3、编辑Samba配置文件。是共享文件夹的名称,
2023-09-23 02:05:55
2428
原创 python pandas创建新的列
Q:根据上面的数据,新增一列(win_team),用来存储得分较高的队伍,即score_A与score_B之间的较高者。给出一个dataframe数据,根据已有的数据列,按照一定条件创建新的数据列。
2022-09-15 17:56:19
4075
原创 python dataframe set_index与reset_index用法
【代码】python dataframe set_index与reset_index用法。
2022-09-14 15:23:58
2435
原创 python dataframe使用split分割字符串
expand为布尔类型,表示分割后是否转换为DataFrame。默认为False表示不转换。n是一个整数数字,默认为-1。为0或-1时即为最大次数的分割。其他数值因数值而定。其中,pat是字符串或正则表达式,
2022-09-14 13:44:17
4846
原创 python pandas 数据排序
默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。sort_values()中设置单个列的列名,可以对单个列进行排序,通过设置ascending可以设置升序或者降序。通过设置参数ascending可以设置升序或者降序排序,默认情况下ascending=True,为升序排序。pandas中排序的几种常用方法,主要包括sort_index和sort_values。先按year列的数据进行升序排序,year列相同的再看B列进行升序排序。years列为升序,B列为降序。
2022-09-13 14:24:37
1387
原创 python pandas query用法
可以使用df.query('brand == "Python"')进行查找,也可以使用df[df['brand'] == "Python"]这种方式进行查找。query 函数在使用变量作为判断标准时,通过在变量前面添加。当需要在某列中筛选多个符合要求的值的时候,可以通过列表(在程序比较长的时候,经常会使用变量来作为筛选条件,函数还支持通过数学表达式来进行数据筛选,包括。两者都需要满足的并列条件使用符号。只需要满足其中之一的条件使用符号。使用引号处理的话,会报错。函数来进行数据筛选。
2022-09-12 18:13:29
3576
原创 Pandas loc与iloc
其中iloc的row是根据索引来查找的,比如这里查找的就是第一行到第三行的数据,取值范围是length-1,这里即3-1行数据;其中iloc的i即是index的意思。其中loc的row是依据指定的标签来查找的,比如这里查找的就是标签1到3的行数据。loc按照标签或者索引、布尔值或者条件进行选择数据,这种选择数据的方法较为常用。其中iloc只取一行时返回的是Series数据。将df的索引设置成了整数的1,2,3,4;
2022-09-04 11:43:43
5500
原创 Pandas处理excel文件
read_excel 其中sheet_name指定要读取的sheet名称,默认是第一个。同目录下会生成aaa.xlsx文件。默认index_col=False。
2022-09-03 15:33:48
759
原创 pandas DataFrame简介
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)Pandas 可以使用 loc 属性返回指定行的数据,如果没有设置索引,第一行索引为。DataFrame类似于一个表格,包括rows(行)和columns(列)。shape:返回行数、列数。...
2022-08-29 15:05:57
4023
原创 pandas Series简介
Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。Series相当于一个列的一维数组,可以指定索引名称,也可根据索引名称获取相应的值。注意索引也要以列表的形式出现。...
2022-08-29 10:21:52
458
原创 win api 遍历窗口获取窗口text
char class_name[256];char title_name[256];GetClassNameA(hwnd, class_name, 256);GetWindowTextA(hwnd, title_name, 256);ERR("xxxxx class_name:%s, title_name:%s\n", class_name, title_name);HWND child_hwnd = NULL;if (strcmp(title_name, "Microsoft Excel").
2022-02-23 10:26:29
680
原创 制作debian64位编译小系统
环境:linux操作系统sudo apt-get install debian-archive-keyring 安装依赖,使用debootstrap命令创建文件系统。$ mkdir ~/build; cd ~/build# 安装必要依赖 debootstrap就是构建的命令$ sudo apt-get install qemu qemu-user-static binfmt-support debootstrap# 构建文件系统的命令$ sudo debootstrap --a
2021-12-28 16:34:04
874
原创 win32修改字体
参考:win32程序如何改变字体大小颜色 - 疯封风 - 博客园TEXTMETRICW lptm;GetTextMetricsW (hdc, &lptm);LOGFONTA logfont;ZeroMemory(&logfont, sizeof(LOGFONTA)); GetObjectA(GetStockObject(SYSTEM_FONT), sizeof(LOGFONTA), &logfont);//logfont.lfItalic = TR
2021-12-21 11:00:52
1477
原创 wine中部分代码无法直接调用user32函数的解决办法
typedef HWND (WINAPI *WindowFromDC_funcptr)(HDC);typedef INT (WINAPI *GetWindowTextA_funcptr)(HWND, LPSTR, INT);HMODULE mod;mod = GetModuleHandleA("user32.dll");if(mod){ WindowFromDC_funcptr pWindowFromDC = (WindowFromDC_funcptr)GetProcAddress(m.
2021-12-21 10:55:52
264
原创 win32 多字节、宽字符转换
#include <Windows.h>#include <stdio.h>#include <stdlib.h>#include <locale.h>int main(){ setlocale(LC_ALL, ""); char sText[] = "你好!"; //计算sText字符串的长度 DWORD dwNum = MultiByteToWideChar(CP_ACP, 0, sText, -1, NULL, 0); pri.
2021-11-28 22:33:03
682
原创 win32 宽字符串输出
#include <Windows.h>#include <stdio.h>#include <locale.h>int main(){ setlocale(LC_ALL, ""); printf("Locale is %s\n", setlocale(LC_ALL, NULL)); char c = 'A'; printf("%c\n", c); WCHAR c2[] = L"我们"; wprintf(L"%s\n", c2); prin.
2021-11-28 21:38:17
777
原创 windows api学习-1
#include <Windows.h>#include "resource.h"INT_PTR CALLBACK MainDlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ BOOL bRet = TRUE; switch (uMsg) { case WM_LBUTTONDOWN: MessageBoxW(hWnd, L"aaa", L"bbb", MB_OK); break; case WM_C.
2021-11-28 19:19:23
572
原创 解决无网络环境下getaddrinfo引发的超时问题
问题背景:源码中在调用getaddrinfo时,如果是网络正常的环境下,getaddrinfo返回会很快,但如果无网络,机器就无法进行dns解析,从而导致getaddrinfo返回时间高达1-2分钟以上。解决方案:使用多线程执行getaddrinfo源码如下://add by xdlstruct stu_dns_info{ LPCSTR node; LPCSTR servname; struct addrinfo *hints; struct add
2021-09-26 09:10:12
2159
原创 cJSON构造与解析json
参考:http://blog.sina.com.cn/s/blog_a6fb6cc90101ffme.html
2021-06-11 14:43:25
10015
2
原创 portSentry入侵检测工具
1、下载portSentry源码网址:https://sourceforge.net/projects/sentrytools/files/latest/download2、
2021-06-09 15:32:57
813
1
原创 二分查找
有序数据,若无序,需要先排序。非递归:#include <stdio.h>#include <string.h>#include <stdlib.h>void binarySearch(int a[], int value , int low, int high){ while(low <= high) { int mid = (high + low)/2; if(a[mid] == value.
2021-04-23 13:40:22
139
原创 顺序查找
#include <stdio.h>#include <string.h>#include <stdlib.h>void sequenceSearch(int a[], int length, int k){ int i = 0; for(i = 0; i < length; ++i) { if(a[i] == k) printf("i:%d\n", i); } retur.
2021-04-23 11:22:43
121
原创 插入排序
#include <stdio.h>#include <string.h>#include <stdlib.h>void insertSort(int a[5], int length){ int i, j = 0; for(i = 1; i < length; ++i) { int temp = a[i]; for(j = i - 1; j >= 0; --j) { .
2021-04-22 17:03:31
138
python下载网易云音乐歌曲疑问,求解答
2017-11-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人