首先先介绍一下工具: (1)一个移动无线网卡 (2)一个装有aircrack的linux(系统最好为kali), (3)靠谱的密码字典。 12 第一步,查看网卡信息 打开你的终端,查看一下当前的无线网卡 root@kali:~# airmon-ng 显示如下: 记住你当前的网卡名 wlan0mon 第二步,启动这个网卡 root@kali:~# airmon-ng start wlan0mon 第三步,开始探测附近的wifi root@kali:~# airodump-ng wlan0mon 然后显示如下: 选个目标,最好信号要好一点,PWR绝对值越小越好,选择好你的目标记住BSSID和CH之后,可以直接ctrl-c终止搜索。 第四步,监听路由 在终端里头继续输入 root@kali:~# airodump-ng -w woshoubao 继续阅读 >>


刘生玺 18/02/24 22:26:01
stack 的实现 1.特征:先进后出 。只能插入,删除,访问栈顶的元素 !! 2.实现 可以用 vector ,list ,deque 来实现。但是 vector和deque 的实现要比list实现的性能好 #include<iostream> #include<deque> using namespace std; template<class T ,class cont = deque<T> > //类模板 class stack{ cont tt ; public: T & top(){ return tt.front(); } void pop( ){ tt.pop_front() ; } void push(T temp){ tt.push_front(temp); } int size 继续阅读 >>


刘生玺 18/01/24 16:48:43
1.vector是什么? vector 基础知识 2.如何实现: 实现代码: #include<iostream> #include<vector> #define count 3 using namespace std; //目标就是完成二维vector的所有操作 int main(void) { vector<vector<int>> vec1(count) ; //二维数组的 vector 定义 //初始化一个3x3的矩阵,数值为 333 for(int i = 0 ;i < vec1.size() ;++i){ for(int j= 0 ;j < count ;++j){ vec1[i].push_back(333); } } //增加一行,数值为444 vector<int> temp ; 继续阅读 >>


刘生玺 18/01/01 15:09:44
什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll) 所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤: 静态库 之所以成为【静态库】,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件(.out)中。因此对应的链接方式称为静态链接。 试想一下,静态库与汇编生成的目标文件一起链接为可执行文件,那么静态库必定跟.o文件格式相似。其实一个静态库可以简单看成是一组目标文件(.o 文件)的集合,即很多目标文件经过压缩打包后形成的一个文件。静态库特点总结: 1.静态库对函数库的链接是放在编译时期完成的。 2.程序在运行时与函数库再无瓜葛,移植方便。 3.浪费空间和资源,因为所有相关的目标文件与牵涉 继续阅读 >>


刘生玺 17/12/13 23:42:25
题目描述: 给定一组数字 nums ,其中恰好有两个元素只出现一次,其他所有元素只出现两次。找到只出现一次的两个元素。 例如: 给定nums = [1, 2, 1, 3, 2, 5],回报[3, 5]。 注意: 结果的顺序并不重要。所以在上面的例子中,[5, 3]也是正确的。 你的算法应该运行在线性运行时的复杂度。你能用空间复杂度来实现吗? “我的题目”理解 : 我以为是找到数组中出现一次的数字组合在一起返回就行,且认为数组中的数字都 > = 0 (那也就意味着有的数字可能出现不止两次且出现一次的数字不一定只有两个) 。这样的话,我的解决方案是用 nums 去索引vec #include<iostream> #include<vector> using namespace std; class Solution { public: vector<int> singleNumber(vector<int>&am 继续阅读 >>


刘生玺 17/12/13 22:33:12
1.传值与传引用 形参与实参: (1)形参一定会被初始化 (2)形参名可选,如果没有形参名那么我们就不能使用该形参,所以一般都会有形参名。出现未命名的形参,一般就是说我们在该函数中用不到它,但还是必须给他提供实参。 传值与传引用 传值: (1)发生值的拷贝 (2)形参与实参是两个不同的东西 (3)对形参的操作不会影响实参 传引用 (1)传引用是它对应实参的一个别名 (2)对它操作就是在对实参操作 该注意的几点: (1)使用传引用来避免拷贝。如果实参很大或者根本就不支持拷贝,只能用传引用。 (2)函数不需要改变引用参数的值就用const来修饰。尽可能使用const 2.管理指针形参 (1)使用标记指定数组长度。如:c语言用’\0’来表示一个字符数组的结束 void print(const char *str) { if(str) //指针非空 { while(*str) 继续阅读 >>


刘生玺 17/12/09 15:24:05
题目描述: Given a sequence of n integers a1, a2, …, an, a 132 pattern is a subsequence ai, aj, ak such that i < j < k and ai < ak < aj. Design an algorithm that takes a list of n numbers as input and checks whether there is a 132 pattern in the list. Note: n will be less than 15,000. Example 1: Input: [1, 2, 3, 4] Output: False Explanation: There is no 132 pattern in the sequence. Example 2: Input: [3, 1, 4, 2] Output: True Explanation: 继续阅读 >>


刘生玺 17/12/08 12:12:52
0 . 在这之前你需要准备的事: 1.知道什么是Linux,了解一些Linux的来龙去脉,知道 Linux 会在哪里使用,有什么样的特点 2. 有一台装有Linux系统的电脑且经过了一些基础配置 3.会使用一些基础命令。比如:ls , cat, cp, cd 等等 4.会使用配置过的vim书写代码,会用gcc和gdb调试代码 5. 正在使用git与github,书写csdn博客(当然也可以是其他类型的) 如果上面的这些你都没有完成,那么先去做它们,你觉得怎么样?嘻嘻 1.什么是 shell 呐? 简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具,从某方面来说shell也是系统的一部分。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些。回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指 继续阅读 >>


刘生玺 17/12/01 18:45:42
什么是模式匹配? 给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配。也就是我们平常在记事本中的“查找选项”所运用的算法,其实说白了就是让我们编程实现:在一个大的字符串中找到一个小的字符串并返回其第一个匹配字符的下标 BF算法 时间复杂度为O(m×n),m和n分别是模式串与主串的长度。 思路:将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果 代码实现: #include<stdio.h> #include<string.h> #include<iostream> #define MAX 255 using namespace std ; typedef struct { int count ; char str[MAX]; }PP ; int BF(PP S , 继续阅读 >>


刘生玺 17/11/26 15:07:00
0.拷贝构造函数 其实就是类与类之间的赋值操作所要调用的函数(因为类对象与普通对象不同,类对象内部结构较为复杂,存在各种成员变量) 代码举例: #include<iostream> using namespace std; class Myclass { private: int a; public: //构造函数 Myclass(int b) { a = b;} //拷贝构造函数 Myclass(const Myclass& C) { a = C.a; } //一般函数 void Show () { cout<<a<<endl; } }; int main() { Myclass A(100); Myclass B = 继续阅读 >>


刘生玺 17/11/24 21:47:02