Month: June 2018

使用Kali 局域网内ARP欺骗实现中间人攻击

实验环境需要用到两台同一网段下的虚拟机 : xp、kali linux 需要用到的工具:ettercap、mitmproxy   扫描局域网内的机器 用界面模式启动ettercap root@kali:~# ettercap -G & [1] 2593 单击菜单栏 -> Unified sniffing… -> (choose network interface)yes -> 单击菜单栏 -> Hosts -> Scan for hosts -> 单击菜单栏 -> Hosts list 这时就能显示找到的机器的ip和mac地址了,我将域名列表如下所示: root@kali:~# cat /tmp/hosts_dump 192.168.43.1 AC:C1:EE:2D:B9:40 – 192.168.43.207 00:0C:29:C4:7C:20 – 192.168.43.250 74:C6:3B:B3:81:88 – 很明显,ip地址192.168.43.1的机器就是网关,而kali的ip地址是 root@kali:~# ifconfig | grep netmask inet […]

《C++ Primer》读书笔记

“完美的程序设计语言”,听起来很好,但代价是语言变得越来越复杂。语言的复杂性导致学习难度增加,学习周期变长。   在实践中,不必全面地使用C++语言的各种特性,而应根据工程项目的实际情况。灵活取舍。通常只鼓励使用C++语言的一个子集就足够了。一个值得学习和参考的例子是Google发布的Google C++ Style Guide.   C++是一门静态类型语言,它的类型检查发生在编译时。而Python、smalltalk语言等在程序运行时检查数据类型。   C++11是2011年,C++标准委员会发布了ISO标准的一个重要修订版。此修订版是C++进化过程中的最新一步。延续了前几个版本对编程效率的强调。   新标准的主要目标是: · 使语言更为统一,更易于教学。 · 使标准库更简单,安全、使用更高效。 · 使编写高效率的抽象和库变得更简单。   C++11 特性: lambda 表达式 lambda表达式可以简单的认为是匿名函数,为了增加代码耦合性而设计的,简短的函数。与普通函数不同,lambda可能定义在函数内部。一个lambda表达式具有如下形式: [capture list](parameter list) -> return type { function body } 一个语法正确 的lambda表达式必须包含捕获列表和函数体。 列表初始化。是由花括号的形式来初始化变量。重要特点,如果初始值有丢失信息的风险,将会报错。 nullptr 是一种特殊类型的字面值,代表空指针。 auto 类型,由初始值自动推断变量类型。 decltype 从表达式类型推断变量类型。 range_for 简易版for循环,用于遍历某种容器。形式如下 for temp_val : list pass. 智能指针,shared_ptr 和 unique_ptr,unique_ptr独占指向的对象。shared_ptr 允许多个指针真指向同一对象,当没有指针指向对象时,将自动释放占用的内存。 ============ […]

《Wireshark数据包分析实战》读书笔记

第一章 数据包分析技术与网络基础 数据包分析,通常也被称为数据包嗅探或协议分析,指的是捕获和解析网络上在线传输数据的过程。   第二章 监听网络线路 略   第三章 Wireshark入门 略   第四章 玩转捕获数据包 wireshark实际抓包中,可通过过滤器的方式达到专注于手头的数据包的目标。   第五章 Wireshark高级特性 略 第六章 通用底层网络协议 略 第七章 常见高层网络协议 略 第八章 基础的现实世界场景 略   第九章 让网络不再卡 TCP重传,重传数据包是TCP最基本的错误恢复特性之一,它被设计用来对付数据包丢失。   TCP重复确认和快速重传 初始序号是握手过程中交换的最重要信息之一。一旦设置好连接两端的ISN。接下来传输的每一个数据包都将按照数据载荷的大小增长序号。 接收数据的序号 + 接收数据的字节数 = 发出的确认号 第十章 安全领域的数据包分析 略 第十一章 无线网络数据包分析 略