- 博客(9)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 wireshark 特定协议不解析问题解决
在文件 ~/.config/wireshark/disabled_protos 下将要解析的协议删除,再重启 wireshark
2021-08-24 17:36:33
1066
原创 使用 openssl DH_compute_key() 函数计算 DH 密钥长度不对的问题
最近在使用 DH_compute_key() 函数计算 DH 共享密钥时,发现计算得出的密钥长度少了一位,导致后续所有数据都出现了错误,最终导致程序崩溃。查看 openssl 官方文档 发现以下内容:DH_compute_key() computes the DH_compute_key() computes the shared secret from the private DH value in dh and the other party's public value in pub_key an
2021-06-14 22:13:34
1452
1
原创 指针初始化 NULL 和 0 有无区别
问题:结构体中有一个指针 p,使用 memset 将整个结构体置为 0,那么此时结构体中的指针能不能用 p != NULL 判断?答:C 标准库 stddef.h 中 定义了#define NULL ((void *)0)也即 NULL 就是 0自己写了个小程序跑了下,也确实如此。...
2021-06-10 11:21:04
974
原创 使用 openssl 实现 DH 算法及其中间人攻击
生成 DH 密钥对//! \param prime. DH 的 prime.//! \param gen. DH 的 gen.//! \param dh. 返回数据.//! \return. 成功与否.int generate_dh_key(const char *prime, const char *gen, DH *dh) { BIGNUM *p = BN_new(); BIGNUM *g = BN_new(); BN_hex2bn(&p, prime); BN_hex.
2021-06-07 23:33:55
2161
1
原创 C 字符串比较 strncmp 与 memcmp
strncmp 与 memcmp 都是用于比较两个字符串的内容。它们的参数意义相同,返回值也相同。需要注意:strncmp 遇到 ‘\0’ 会结束比较但是 memcmp 不会,memcmp 会继续比较直至到达指定长度所以推荐使用 memcmp...
2021-06-07 20:47:28
342
原创 IKEv2 Cookie
IKEv2 为防止 DDoS,在通信多的时候会加入 Cookie。具体流程C 向 S 发送 IKE_SA_INIT,Response SPI 是0S 向 C 返回 IKE_SA_INIT,Response SPI 依旧是0,payload 只有一个,是 Notify,内容是 Cookie。C 向 S 重新发送 IKE_SA_INIT,Initiator SPI 不变,首个 payload 是 2 中的 Notify(也就是 Cookie),之后才是 SA 等信息S 接收,之后同正常流程..
2021-05-31 17:14:46
606
4
转载 ip checksum
同 udp checksum,也是从那个开源系统上扒拉下来的。使用方法也类似。uint16_t ip_checksum(const void *buf, size_t hdr_len) { unsigned long sum = 0; const uint16_t *ip1; ip1 = buf; while (hdr_len > 1) { sum += *ip1++; if (sum & 0x80000000)
2021-05-24 21:05:35
369
转载 UDP checksum
从一个开源系统扒拉下来的。http://minirighi.sourceforge.net/html/udp_8c-source.html//! \param buff The UDP packet.//! \param len The UDP packet length.//! \param src_addr The IP source address (in network format).//! \param dest_addr The IP destination address (in
2021-05-24 16:25:29
596
原创 DPDK 启动失败 Cause: No Ethernet ports
DPDK 启动失败 Cause: No Ethernet ports# DPDK 启动失败了EAL: Error - exiting with code: 1 Cause: No Ethernet ports - bye # 先看有没有 lspci 命令,没有使用一下命令安装[root@localhost usertools]# yum install pciutils # 结果还是启动不了 # 用以下命令看网卡有没有绑定[root@localhost usertools]# {dp
2021-05-24 16:06:26
3234
1
计算机网络原理:自顶向下方法(第6版).pdf
2017-09-06
java创建的套接字可以被C语言使用吗?
2018-09-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人