05 获取地理信息 ——非复吕蒙之三日,但见楚庄之飞鸣。 wireshark中是没有获取地理信息功能的,这算是一个新future 我们使用开源的数据库ip2region来做。 项目地址:https://github.com/lionsoul2014/ip2region 我们能拿到一个ip2region.xdb文件,如果要使用这类信息库文件,首先得加…
01 概述 基于tshark, cpp开发类wireshark软件 nbEasyTshark Wireshark主要特点: 支持三千多种协议深度解析 实时捕获和离线分析 强大的过滤功能 (Display Filter、Capture Filter) 支持流分析(FollowStream) 支持多种操作系统(Windows、Linux、macOS) …
一事未毕,不启二事。 ——yangnanbei Lab0 Warmup https://cs144.github.io check web_get 环境搭建 prepare: 如何检查环境设置是否到位呢? 我们可以尝试用telnet命令 telnet cs144.keithw.org http 观察到如下打印: 而后输入 GET /hello HT…
这是一篇关于左值,右值,完美转发,引用折叠的文章。 什么是左值,什么是右值? 左值:具有生命周期的,具有名称的值,即为它有一个具体的内存空间。 右值:没有生命周期,也成为将亡值。不指向稳定内存地址的匿名值。 基于上述特性,我们也可以用取地址符号判断,能够取到地址的是左值,不能取到的是右值。 左值与右值的理解 从字面理解,无非是表达式等号左边的值为左…
前言 lambda表达式时C++11时引入的特性 lambda又称匿名函数 lambda本质是一个特殊的,匿名的类类型。它是一个带有operator()的类,即仿函数。 仿函数(functor), 就是使得一个类的使用看上去像一个函数。其实现为类中实现一个operator(), 这个类就有了类似函数的行为,即为一个仿函数类。 lambda表达式的基…