暗网
0x00 暗网
今天一朋友兴致勃勃地来告诉我,他上暗网了,然后和他饶有趣味地聊了一番:
暗网,说实话,我也去过,援引网上的一段介绍:
“暗网,这个互联网世界的鲜为人知的地区,已经滋生了无数的犯罪,充斥着军火、毒品交易、儿童妇女贩卖、儿童色情、买凶杀人,甚至也是恐怖军火组织招募人员的窝点。”(来自搜狐网)
确实,onion(洋葱)结尾的,域名是一串乱七八糟的数字及英文字母组合,用特殊的浏览器(Tor)访问,这个隐藏的世界再加上“军火贸易,人口贩卖,赏金杀手”这些吸引眼球的关键字眼,吸引着很多年轻人的好奇心,吸引着他们去探索,去发现,猎奇的心理驱使着他们去探索这个未知的世界,这个充满着社会阴暗面的世界
学信息安全的时候,忘记了从哪个渠道,让我得知了这个世界上还有暗网这个东西,好奇心驱使着我第一次打开了暗网的大门,在暗网wiki的导航下,陆续浏览了一些网站,确实,这个不为人知的世界充满了罪恶,看过那一次后,我就卸载了Tor浏览器,删去了所有有关暗网的东西,忘记了那是什么时候,从那之后,我就再也没有上过暗网,别人问我,我也告诉他们最好不要看这些东西,当然,我拦不住绝大多数人
从那之后,我在深 ...
C++11锁
0x00 前言
下面是我从C++11之多线程(二、互斥对象和锁)上找的一段代码
1234567891011121314std::set<int> int_set;auto f = [&int_set]() { try { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(1, 1000); for(std::size_t i = 0; i != 100000; ++i) { int_set.insert(dis(gen)); } } catch(...) {}};std::thread td1(f), td2(f);td1.join();td2.join();
由于std::set::insert不是多线程安全的,多个线程同时对同一个对象调用insert其行为 ...
GitLab 网页的基本操作
0x00 前言
撰写这篇文章的目的是为了指导实验室内的成员使用我们自建的GitLab服务器。文章内如有错误或不妥之处,请批评指正。
0x01 GitLab网页版的使用
0x00 创建项目
首先登陆你的GitLab,在首页就有一个绿色的New project(创建新项目)按钮,点他一下,然后如下图所示,填写信息:
填写完信息之后,就可以看到如下的界面了:
这样一个新项目就算创建完成了
0x01 项目设置(Edit Project)
我们可以在主页右上角的齿轮处找到项目设置(Edit Project)
里面有很多的设置选项,英文好的话,这些选项都不是问题,我在这里不一一翻译,只说一些比较重要的设置
0x00 权限设置(Sharing & Permissions)
项目的可见性(Project Visibility):Private是仅指定的人可见,Internal是注册用户可见,Public是对全世界公开
Repository(代码仓库),Snippets(代码片),Issues(问题):Only term members(仅组内成员)
0x01 项目改名(Rename ...
GitLab 服务器配置
0x00 前言
因实验室内部需求,为实验室配置Git服务器一台,在此记录一下整个的流程,一是为了自己备忘,二是为了今后实验室成员学习使用
0x01 安装Ubuntu
实验室的服务器整体配置还是不错的,i3的CPU,4G内存,1T硬盘,配置个GitLab让实验室40个人用已经绰绰有余了,拿到手的是一台裸机。从Ubuntu官网下载到了一个Server版的Ubuntu16.04.2的镜像,Server版的没有图形化用户界面,而且仅安装了最基本的软件,所以只有700MB左右的大小。
用UltraISO将其刻录到一个U盘上,然后在服务器上安装就可以了(原谅一笔带过,因为安装的时候没拍摄安装过程)。
0x02 配置网络
实验室的服务器是静态独立IP,需要另加配置才能上网
1root@ubuntu:~# vi /etc/network/interfaces
配置网卡信息如下
1234567891011121314151617# This file describes the network interfaces available on your system# and how to activat ...
在 IDEA 中使用 Git
0x00 前言
撰写这篇文章的目的是为了指导实验室内使用IntelliJ IDEA作为常用IDE的同学对代码进行版本控制,笔者所演示的平台为IntelliJ IDEA 2017.1 x64。文章内如有错误或不妥之处,请批评指正。
此教程同样使用与JetBrains家的其他IDE,比如PhpStorm及PyCharm等
0x01 在IDEA中使用GitHub
0x00 代码仓库的创建
首先,我没在新建项目的页面找到同时创建Git本地仓库的按钮或选项,不像VS那样,可以通过勾选在创建项目时新建Git本地存储仓库来快速进行代码仓库的创建
通过VCS菜单,里面有一个Import into version control(导入到版本控制),里面有一个Create Git Repository(创建Git仓库),可以创建一个Git仓库
如果想同步到GitHub的话,可以点击下面的Share Project on GitHub,来将代码同步到GitHub,在这里可以使用Token登录也可以使用用户名和密码登录,演示示例中使用的是用户名密码的登录方式
下面有一个复选框Save credentia ...
在 VS 中使用 GitLab
0x00 前言
撰写这篇文章的目的是为了指导实验室内使用Visual Studio作为常用IDE的同学对代码进行版本控制,笔者所演示的平台为Visual Studio 2017(英文版,中文版的我看着难受)。文章内如有错误或不妥之处,请批评指正。
0x01基于GitLab的版本控制
0x00 创建项目
首先登陆你的GitLab,在首页就有一个绿色的New project(创建新项目)按钮,点他一下,然后如下图所示,填写信息:
填写完信息之后,就可以看到如下的界面了:
这样一个新项目就算创建完成了
0x01 在Visual Studio中使用GitLab
首先,让我们新建一个VS项目,然后在新建VS项目的时候,选中创建新的Git存储库那一项,这一点在之前写过的教程在Visual Studio中使用GitHub都有提到过,而且里面有详细的操作步骤
接着打开Team Explorer窗口,我们来连接GitLab
首先点击上图中红框框出来的那个绿色的小插头,进入连接管理页面,最下面有一个Push to Remote Repository将项目发布到远程服务器, 然后将项目的地址输入进那个 ...
在 VS 中使用 GitHub
0x00 前言
撰写这篇文章的目的是为了指导实验室内使用Visual Studio作为常用IDE的同学对代码进行版本控制,笔者所演示的平台为Visual Studio 2017(英文版,中文版的我看着难受)。文章内如有错误或不妥之处,请批评指正。
0x01 基于GitHub的版本控制
0x00 GitHub扩展
如果使用Visual Studio的话,在安装的时候,可以选择安装GitHub扩展,如图为Visual Studio 2017的安装界面,可以通过勾选GitHub Extension一项使Visual Studio自动安装GitHub扩展:
0x01 登录Git
可以在Team Explorer窗口中点击connect然后输入用户名密码登录来连接到GitHub,如图:
0x02 在新项目中使用Git
我们可以勾选如下选项来在创建新项目的同时创建Git存储仓库:
0x03 将代码托管到GitHub
在上一步的操作中,我们在新建项目的同时创建了一个本地的存储仓库,现在我们来将这个本地的存储仓库上传到GitHub
在Team Explorer的Local Git Reposit ...
基于命令行的 Git
常用 Git 命令清单
一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
一、新建代码库
12345678# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]
二、配置
Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
12345678910# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]# 设置提交代码时的用户信息$ git config [--global] user.name "[name]"$ git confi ...
打字技巧
0x00 前言
有一些人让我传授给他们一点打字的技巧,我想了想不如写一篇文章来记录一下。
首先我用的是双拼输入法,什么是双拼呢,看维基百科的定义:
双拼是汉语拼音输入法的一种编码方案。相对于全拼而言,使用双拼输入汉字时只需输入一个代表声母的字母,一个代表韵母的字母,就可以打出任意一个中文单字了。
双拼的码长很固定,就是2,一个声母一个韵母,我比较习惯用的就是搜狗双拼方案,如图:
双拼这个东西,没有什么技巧而言,就是不断的练习,然后到最后成为一种无他唯手熟尔的境地,就可以下意识地打字了
下面说几个有技巧的方法,辅助码和组词法
0x01 辅助码
0x00 为什么要用辅助码
拼音录入慢,慢在哪里了呢,慢在了选字这个环节上,大部分人都是按数字键123456和+来选字,使用这种方法,效率低下,有时候说不定还得翻好几页才能找到你想要的字
在标准指法中,初始状态下人的手方法ASDF这一行上(基准键),人手输入ASDF这一行的速度是最快的,QWER和ZXCV这两行次之,离他更远的数字键就更慢了
辅助码的作用就是帮你把你想要的字从输入法排序的后面调整到第一页的1号位和2号位,对于1号位,我们可以直 ...
配置 SSH 登录
0x00 前言
使用SSH密钥登录服务器一是可以免密码登录,二是相对密码来说更加安全一些,只要你可以保证你的私钥文件不被泄露即可
0x01 生成SSH密钥
Linux
在Linux下,我们可以使用ssh-keygen来生成一对密钥,一般使用的参数只有两个
12-b 指定密钥的长度,我一般使用2048位的密钥,即-b 2048-t 指定加密算法,一般使用RSA算法,即-t rsa
在生成密钥完成之后会提示你输入一个密码,这个密码用来加密你的私钥,密码是可选的,但是,为了安全性着想,我们最好还是为其设置一个密码。
生成完成之后,会输出公钥和私钥的存储路径
Windows
在Windows下,我们可以使用puttygen来生成密钥,puttygen是带有图形化用户界面的,使用起来也相对简单,我们点击Generate按钮之后,然后用鼠标在puttygen窗体里面随便滑动(好像是为为了产生更随机的随机数),就可以生成一对密钥,如图
0x02 将公钥上传至Linux服务器
Linux
可以通过scp命令将你的公钥上传至服务器,例如:
1scp 公钥文件路径 用户名@主机名或IP地址:
Windo ...