ARP攻击之Kali Linux局域网断网攻击

作者:荒原之梦

特别声明:

我们学习研究网络安全技术的目的应是为了维护网络世界的安全,保护自己和他人的私有信息不被非法窃取和传播。请您遵守您所在地的法律,请勿利用本文所介绍的相关技术做背离道德或者违反法律的事情。

Special statement:

The purpose of our study of cyber security technology should be to maintain the security of the cyber world and protect the private information of ourselves and others from being illegally stolen and disseminated. Please comply with your local laws. Do not take advantage of the relevant technology introduced in this article to do anything that deviates from morality or against the law.

前言:

ARP攻击是基于ARP协议的工作模式进行的,关于ARP协议和ARP攻击的基础知识请查看荒原之梦网(zhaokaifeng.com)的这篇博文ARP协议与ARP攻击入门

ARP攻击能够实现的技术前提有两个,一是作为攻击者的计算机需要和被攻击者的计算机在一个局域网中,二是作为攻击者的计算机需要知道被攻击者计算机的局域网IP。本文将模拟真实的攻击过程,在不与被攻击的计算机发生物理接触的情况下实现对其的局域网断网攻击。

网络拓扑图

图 1.

注:
在这里,作为攻击者的计算机使用的是安装在VMware Workstation中的Kali Linux,我们需要在VMware的设置中将Kali的联网方式改为“桥接模式”,并且不要勾选“复制物理网络连接状态”。

获取目标主机IP

在这里,我们使用Ettercap对内网进行扫描以获取目标主机IP和网关的信息。输入命令:

ettercap -G

打开Ettercap的GUI界面:

图 2.

依次点击“Sniff(嗅探) -> Unified sniffing(统一嗅探)”,之后弹出如下界面让选择进行扫描的网络接口(Network interface):

图 3.

这里我们使用默认的eth0端口。点击“OK”。

之后依次点击“Hosts(主机) -> Scan for hosts(扫描主机)”。

这时会出现一个进度条,等待进度条结束,依次点击“Hosts -> Hosts list(主机列表)”即可显示本机所在局域网中除本机之外,当前已连接至网络的设备的IP地址和MAC地址:

图 4.

注:
Ettercap扫描结果的第一项一般是本局域网中的网关,如图中的192.168.50.1就是实验时局域网中的默认网关。

这样我们就获得了目标主机的IP和本局域网的网关。

对局域网内的目标主机实施断网攻击

我们使用Kali Linux中的Arpspoof进行ARP攻击。不过,在一些版本的 Kali Linux 中并没有安装 Arpspoof 这个工具,由于 Arpspoof 是 dsniff 工具集的一部分,因此,要安装 Arpspoof, 就需要安装 dsniff 这个工具集,命令如下:

apt-get install dsniff

在实施断网攻击前,我们先测试一下目标主机192.168.50.130是不是能上网,输入命令:

ping www.baidu.com

发现可以Ping通,说明目标主机在攻击开始之前是可以上网的。

在我们的攻击机上,即Kali中,输入命令,例如:

arpspoof -i eth0 -t 192.168.50.130 192.168.50.1

arpspoof 命令的格式如下:

arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

注:
由于使用 Arpspoof 进行断网攻击的原理就是在被攻击的计算机与路由器之间进行 ARP 劫持,但是劫持完成之后不转发被攻击的计算机与路由器之间的通信数据包。为了保证 Kali 不会将被劫持的数据包转发出去,必须将 /proc/sys/net/ipv4/ip_forward 文件中的数值设置为 0, 如果设置为 1, 则使用 Arpspoof 进行的断网攻击则不会生效。

回车就开始对目标主机进行断网攻击了,此时我们在目标主机上执行命令:

ping www.baidu.com

就会返回一个错误提示:“Ping请求找不到主机www.baidu.com”。

通过上述命令产生的Arpspoof的攻击进程不会自动停止,除非当前攻击链路被中断,如攻击机关机或者断开与当前局域网的连接,或目标机关机或者断开与当前局域网的连接或者更改了其在当前局域网内的IP地址。我们可以在Arpspoof进程所在终端上使用“Ctrl+Z”手动关闭Arpspoof的攻击进程。

关闭Arpspoof的攻击进程后,之前被攻击的目标主机一般会在几秒钟的时间内自动恢复正常的网络连接。

附:

Ettercap0.8.2的帮助信息(命令ettercap -help):

ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team



Usage: ettercap [OPTIONS] [TARGET1] [TARGET2]


TARGET is in the format MAC/IP/IPv6/PORTs (see the man for further detail)


Sniffing and Attack options:

-M, --mitm <METHOD:ARGS>    perform a mitm attack

-o, --only-mitm             don't sniff, only perform the mitm attack

-b, --broadcast             sniff packets destined to broadcast

-B, --bridge <IFACE>        use bridged sniff (needs 2 ifaces)

-p, --nopromisc             do not put the iface in promisc mode

-S, --nosslmitm             do not forge SSL certificates

-u, --unoffensive           do not forward packets

-r, --read <file>           read data from pcapfile <file>

-f, --pcapfilter <string>   set the pcap filter <string>

-R, --reversed              use reversed TARGET matching

-t, --proto <proto>         sniff only this proto (default is all)

--certificate <file>    certificate file to use for SSL MiTM

--private-key <file>    private key file to use for SSL MiTM


User Interface Type:

-T, --text                  use text only GUI

-q, --quiet                 do not display packet contents

-s, --script <CMD>          issue these commands to the GUI

-C, --curses                use curses GUI

-D, --daemon                daemonize ettercap (no GUI)

-G, --gtk                   use GTK+ GUI


Logging options:

-w, --write <file>          write sniffed data to pcapfile <file>

-L, --log <logfile>         log all the traffic to this <logfile>

-l, --log-info <logfile>    log only passive infos to this <logfile>

-m, --log-msg <logfile>     log all the messages to this <logfile>

-c, --compress              use gzip compression on log files


Visualization options:

-d, --dns                   resolves ip addresses into hostnames

-V, --visual <format>       set the visualization format

-e, --regex <regex>         visualize only packets matching this regex

-E, --ext-headers           print extended header for every pck

-Q, --superquiet            do not display user and password


LUA options:

--lua-script <script1>,[<script2>,...]     comma-separted list of LUA scripts

--lua-args n1=v1,[n2=v2,...]               comma-separated arguments to LUA script(s)


General options:

-i, --iface <iface>         use this network interface

-I, --liface                show all the network interfaces

-Y, --secondary <ifaces>    list of secondary network interfaces

-n, --netmask <netmask>     force this <netmask> on iface

-A, --address <address>     force this local <address> on iface

-P, --plugin <plugin>       launch this <plugin>

-F, --filter <file>         load the filter <file> (content filter)

-z, --silent                do not perform the initial ARP scan

-6, --ip6scan               send ICMPv6 probes to discover IPv6 nodes on the link

-j, --load-hosts <file>     load the hosts list from <file>

-k, --save-hosts <file>     save the hosts list to <file>

-W, --wifi-key <wkey>       use this key to decrypt wifi packets (wep or wpa)

-a, --config <config>       use the alterative config file <config>


Standard options:

-v, --version               prints the version and exit

-h, --help                  this help screen

ARP 协议与 ARP 攻击入门

作者:荒原之梦

一、ARP 协议

ARP 协议是一个年代相当“久远”的网络协议。ARP 协议制定于 1982 年 11 月,英文全称:Address Resolution Protocol,即“地址解析协议”。

我们知道,虽然终端设备想要上网必须具有公有 IP 地址,但是在 Internet 的 TCP/IP 协议中,IP 地址的作用是标识一台主机或路由器与一条链路的接口,也就是说 IP 地址指明了数据由一个网络传输到另一个网络的路径,但是我们知道,为了节约 IP 地址,通常情况下,在一个内部网络中,主机常常使用 RFC 规定的三种私有 IP 地址作为局域网中主机的 IP 地址,而且主机的 IP 地址是由该网络的路由器动态分配的,如果数据的传输仅仅依赖于 IP 地址,那么当数据到达一个内部网络中时就可能因为目标主机的 IP 地址发生改变而将数据传输到了错误的目标主机。但是不同设备的物理地址(MAC 地址)是全网唯一的,而且一般也不会被改变(MAC 地址是写入网卡的,一般情况下是固定不变的),因此使用 MAC 地址作为信息的标识,定位目标网络设备就可以保证信息能够正确抵达目标主机。而通过目标设备的IP地址查找目标设备的 MAC 地址就是 ARP 协议的基本功能。

1.1. ARP 协议的工作过程

由于内部网络中主机的IP地址往往是动态分配的,因此,在主机中是有 ARP 缓存的,记录着本网络中 IP 地址与 MAC 地址的对应关系。那么,这个 ARP 缓存是怎么生成的呢?首先,当网络中的主机 A 需要向主机 B 发送信息时,会将包含目标 IP 地址的 ARP 请求广播到该网络中的所有主机上,网络中的其他主机在收到主机 A 的 ARP 请求后可以自主的发送 ARP 应答报文,应答中包含自己的 IP 和自己的 MAC 地址,主机 B 也会发送这样的应答报文给主机 A. 这样主机 A 就知道了主机 B 的 MAC 地址与 IP 地址了。

ARP 协议的工作是建立在网络中各个主机之间相互信任的基础上的,一台主机在收到其他主机的 ARP 应答报文时并不会采取措施校验该报文的真实性,而是直接就记录到了自己的 ARP 缓存中以备下次使用。

、ARP攻击

ARP 攻击的第一步就是 ARP 欺骗。由上述“ARP 协议的工作过程”我们知道,ARP 协议基本没有对网络的安全性做任何思考,当时人们考虑的重点是如何保证网络通信能够正确和快速的完成——ARP 协议工作的前提是默认了其所在的网络是一个善良的网络,每台主机在向网络中发送应答信号时都是使用的真实身份。不过后来,人们发现 ARP 应答中的 IP 地址和 MAC 地址中的信息是可以伪造的,并不一定是自己的真实 IP 地址和 MAC 地址,由此,ARP 欺骗就产生了。

2.1. ARP 攻击的分类

根据攻击的实现方式或者攻击的效果不同,可以将 ARP 攻击分成如下三种类型:

  • ARP 仿冒攻击:冒充内网中的网关或计算机;
  • ARP 欺骗攻击:欺骗内网中的网关或计算机;
  • ARP MAC 地址泛洪攻击。

2.2. ARP 仿冒与欺骗攻击

ARP 的应答报文是可以伪造的,因此,同时进行 ARP 仿冒与欺骗攻击就可以实现内网环境下的“中间人攻击”。

假设一个网络中有 3 台主机,分别为 A、B 和 C. 当主机 A 向网络中发送了 ARP 请求时,用于攻击的主机 C 可以假装是 B, 然后向主机 A 发送一个伪造的 ARP 应答报文,由于 A 并不会采取措施验证该报文真伪,而是直接存入自己的 ARP 缓存并在需要时使用(ARP 缓存分两种,一种是静态 ARP 缓存,该类缓存只要主机不关机就一直存在。另一类是动态 ARP 缓存,该类缓存是有时效限制的,一般 ARP 动态缓存的最长生命周期是 10 分钟,如果一个动态缓存项目在 2 分钟内没有被使用,则删除,如果在两分钟内被使用了,则增加两分钟的生命周期,直到达到 10 分钟的最长生命周期后进行更新),由此,C 就成功的欺骗了 A. 那么来自主机 B 的正确的应答报文去哪了?如果 A 收到了来自 B 的正确的应答报文,更新了自己的 ARP 缓存,那么 C 的 ARP 欺骗不就失败了吗?确实会发生这种情况,但是如果 C 不断的向网络中的各台主机大量发送伪造的 ARP 应答报文,直到同时欺骗了 A 和 B, C 就成功的对主机 A 和 B 进行了 ARP 欺骗。接下来 C 就可以监听 A 和 B 之间的流量,伪造 A 和 B 的通信内容或者阻止 A 和 B 的通信。

2.3. ARP MAC 地址泛洪攻击

交换机中会保存一份内网中活跃主机的 MAC 地址与 IP 地址对应关系的数据表,此时,如果交换机要转发数据包的主机在该数据表中,那么,交换机就会按照 MAC 地址与端口自动完成数据包的转发。

但是,如果交换机与内网中的某台主机长时间未通信,那么,相应的 MAC 地址表就会因“老化”而被自动删除。交换机会直到下次需要与该主机进行通信时才会通过广播的方式获取该主机的 MAC 地址。

于是,ARP MAC 地址泛洪攻击的原理就是向交换机发送大量的伪造 MAC 地址,挤占掉交换机 MAC 地址数据表的全部存储空间,使得因发生老化而被删除的 MAC 地址无法再被重新添加,此时,从交换机发出的所有数据包都会变成请求获取内网目标主机 MAC 地址的广播包——这时,我们就可以对交换机发动 ARP 仿冒与欺骗攻击了。

2.4. 为什么 ARP 攻击只能发生在局域网

当我们在说“ARP 攻击”时,我们还常常和另外一个词连系在一起:“局域网”。为什么ARP 攻击只能发生在局域网呢?或者说为什么 ARP 协议只能在局域网内发挥作用?这和互联网通信的原理以及 ARP 协议的功能有关。简单的说,我们可以这样理解:

我们知道,IP 地址位于 OSI 模型的第三层(网络层),MAC 地址位于 OSI 模型的第二层(数据链路层)。而路由器工作在三层或者三层以上。由此看来,用于连接 IP 地址与 MAC 地址的 ARP 协议是不能跨越第三层的(ARP 工作在网络层),因此 ARP 广播包也不可能通过路由器到达其他网络。

图 1.

上面的这个解释很好理解,但是并不是很严密的解释,也没有触及到问题的核心。如果要完全解释“为什么 ARP 攻击只能发生在局域网内部?”这个问题,我们就必须更深入的理解 TCP/IP 协议和路由器的工作原理。

在 TCP/IP 协议中,数据的传输有三种方式:单播、组播和广播。单播就是一对一的通信,组播(也称多播)是一对多的通信(如视频直播)。单播和组播都是可以跨越物理网络进行通信的,也就是进行通信的主机之间可以不在一个子网内部。但是,广播就有一些特别了,由于广播域的存在(一般一个局域网就是一个广播域),所以路由器在收到广播数据时是会拒绝向其它网络转发的,路由器实际上起到了分离广播域,隔离广播数据的作用。

ARP 攻击之所以能够产生,就是因为伪造了对 ARP 广播的应答,综合上述分析可知,如果用于攻击的主机并不在目标网络中,就接收不到目标网络中 ARP 请求的广播,其伪造的 ARP 应答也无法到达目标网络。因此,ARP 攻击只能发生在局域网(子网)内部。正因如此,我们只能对目标主机 IP 地址网络号部分以及子网掩码与我们的攻击机器 IP 地址网络号部分和子网掩码相同的主机发动 ARP 攻击。

三、补充

3.1. RARP 协议

ARP 协议的作用就是在已知内网其他设备的 IP 地址的情况下,获取这些内网设备的 MAC 地址的协议。而 RARP 协议(RARP: Reverse Address Resolution Protocol, 即“反向地址转换协议”)则是为了让只知道自己的 MAC 地址的设备从网关那里获取自己的 IP 地址的协议。

和 ARP 协议一样,RARP 协议也工作在网络层。

3.2. IPv6 NDP 协议

ARP 协议是在 IPv4 中使用的地址解析协议,但在 IPv6 中,已经使用 NDP (NDP: Neighbor Discovery Protocol, 即“邻居发现协议”) 协议取代了 ARP 协议的功能。

和 ARP 协议一样,NDP 协议也工作在网络层。

C语言实现计算双基回文数详解

作者:荒原之梦

双基回文数的定义:

如果一个正整数n至少在两个不同的进位制(二进制<=进制=<十进制)b1和b2下都是回文数,则称n是双基回文数。
根据定义,简单的说就是在二进制到十进制之间(包括十进制和二进制),如果n在这其中任意两个进制上是回文数,则n就是双基回文数。

程序功能:

输入正整数S<10^6,输出比S大的最小双基回文数

源代码及注释:

#include<stdio.h>

//把主函数放前面比较好看
int main()
{
int n;
//定义n作为sjHuiWen函数中形式参数s的实际参数
int count=0; //count用于计数,初始值为0
printf("Enter a number:");

scanf("%d",&n);
//读取要处理的数字 ,如2200,该数字不一定为回文数,因为我们想要求的只是比该数字大的最小回文数
int a=n;//使用a先把n的值保存一下

bool sjHuiWen(int m,int base); //定义base代表进制
//下面会调用sjHuiWen函数,调用之前要先声明一下

while(count!=2)
{
n++;
count=0;
for(int base=2;base<=10;base++)
{
if(sjHuiWen(n,base))
//if判断只会在括号内为true时才会执行下一步操作,如果sjHuiWen函数返回true,则表示n是回文数
{
count++; //n是回文数则+1
}
if(count==2) break;
//调用sjHuiWen函数判断n是不是回文数,如果在两个进制下都是回文数,则跳出循环

}
}
printf("比%d大的最小双基回文数为:%d\n",a,n);

return 0;
}

//定义sjHuiWen函数 ,功能是判断数字n在进制base下是不是回文数
bool sjHuiWen(int m,int base)//m是形式参数,n是实际参数
//定义一个函数sjHuiWen,函数类型为布尔类型(由于return返回的值flag是布尔类型,所以函数就是布尔类型)
{
int str[10],i = 0; //定义一个数组str,长度为40
bool flag = true; //定义一个布尔类型的变量flag,赋初值为true
while(m) //m是一个整型变量,当m还是一个整型变量时就继续循环,直到m不是一个整型变量
{
str[i++] = m%base;//取余,从m的个位开始将每一位上的数字变成base位进制并依次存入数组
m /= base; //每取一次余数,就把最后一位的数字去掉
}

for(int j = 0;j <= i/2;j++)
{
if(str[j] != str[i-j-1]){
flag = false;
}else
return true;
}
return flag;
}

运行截图:

图 1

天使的圣光

作者:荒原之梦

你是一道天使的圣光
是柔软的晨雾
飘洒在我眼中的北方

在无限的时光中
拥抱唯一的你
当爱成为信仰
天使便降临了人间

阳光带来了你的气息
你的一次回眸
犹如纸上轻盈的一撇
沉醉了笔墨纸砚的洋溢

人生是一步又一步的前行
我们手挽着手
在同一个时钟频率中漫步
每一缕霞光
都宣誓着
一份庄严的承诺

你说冬天很冷
草地都盖上了厚厚的树叶
我说北风很大
可是有陪伴就不会孤单

下一个春天
在柳叶微拂的湖边
你静静的站在桥头
湖水的波光在你的脸庞荡漾
那时
整个世界
都在为你盛开

Windows Server 2008取消登录前的Ctrl+Alt+Delete组合键操作

作者:荒原之梦

前言:

在Windows Server 2008服务器中,为了防止人们登录服务器时错误的将账户和密码输入其他地方导致信息泄漏,所以在我们登录Windows Server 2008服务器操作系统时会要求我们按“Ctrl+Alt+Delete”组合键才能打开登录界面。这样确实能减少人为失误造成信息泄漏的可能性,但是我在使用网页版远程登录连接我的Windows服务器时发现,一旦我按下了“Ctrl+Alt+Delete”组合键,就会被我的本地计算捕获这一操作指令,而远程服务器却没有反应。综上,同时也为了方便登陆(我的这台Windows服务器纯属个人使用,服务器中没有重要信息,因此可以为了方便使用牺牲一些安全性,如果是公司服务器等对安全性要求比较高的服务器还是要以确保安全为主。)

 

具体操作步骤:

1. Win+R组合键输入gpedit.msc,回车运行,打开“本地组策略编辑器”。

2 .依次打开“计算机配置->Windows设置->安全设置->本地策略->安全选项”

3 .点击“安全选项”,选中右侧窗口中的“交互式登录:无须按Ctrl+Alt+Del”,右键点击“属性”,将“已禁用”改为“已启用”。

4 .点击“应用”和“确定”,之后重启服务器。

5 .重启完成后再次使用Web方式登录服务器就直接进入到了登陆界面,不再需要按Ctrl+Alt+Delete组合键进入登陆界面。

 

注:

更改本地组策略后一定要记得重启服务器。经实际测试,一般情况下,不重启不会更新上述更改,因此更改也不会生效。

Kali Linux远程连接Windows服务器

作者:荒原之梦

前言:

为了在Kali上远程连接Windows系统的服务器我们需要安装两个工具,rdesktop和tsclient。另外,我们从主机服务商那里购买的Windows操作系统的服务器都是默认开启了远程连接的,如果我们要在局域网里连接桌面版的Windows系统一般还需要开启并配置好远程桌面。

操作步骤:

安装rdesktop,输入命令:

apt-get install rdesktop

安装tsclient,输入命令:

apt-get install tsclient

输入:

rdesktop ip:端口号

或者输入:

rdesktop ip

即可打开Windows服务器的登录页面,默认的登录用户名是“root”,可以根据实际情况修改。

命令“rdesktop”后面可以跟的几个常用参数及功能如下:

-f //全屏显示(想退出全屏则使用组合键“Ctrl+Alt+Enter”)。
-a [x] //指定显示的颜色深度。 
/*注:一般可以在网速不够好的情况下可以指定为“-a 8”(此时显示效果基本为黑白蓝),网速较好时指定为“-a 16”(此时的显示效果是彩色的),默认的颜色深度是24(“默认的颜色深度是24”属于推测,因为,我在不指定颜色深度的情况下,即不使用“-a [x]”参数时连接Windows Server 2003服务器时会产生警示:“WARNING: Remote desktop does not support colour depth 24; falling back to 16”)*/
-g [x*x] //指定远程桌面在本地显示窗口的大小,如“-g 600*800”.
-u name //登录用户的用户名。
-p password //登录密码。
-r sound:local //将远程主机的声音重定向到本地。

注:
1.rdesktop是一个基于命令行的工具,而tsclient则可以提供图形化界面。(在终端输入tsclient会显示“bash: tsclient: command not found”,因此推测tsclient应该只是作为rdesktop的一个扩展插件存在)。
2.上述工具也可以在其他Linux平台上使用,如CentOS和Ubuntu.

附:rdesktop的帮助信息(终端输入“rdesktop”可以查看)

rdesktop: A Remote Desktop Protocol client.
Version 1.8.3. Copyright (C) 1999-2011 Matthew Chapman et al.
See http://www.rdesktop.org/ for more information.

Usage: rdesktop [options] server[:port]
-u: user name
-d: domain
-s: shell / seamless application to start remotly
-c: working directory
-p: password (- to prompt)
-n: client hostname
-k: keyboard layout on server (en-us, de, sv, etc.)
-g: desktop geometry (WxH)
-i: enables smartcard authentication, password is used as pin
-f: full-screen mode
-b: force bitmap updates
-L: local codepage
-A: path to SeamlessRDP shell, this enables SeamlessRDP mode
-B: use BackingStore of X-server (if available)
-e: disable encryption (French TS)
-E: disable encryption from client to server
-m: do not send motion events
-C: use private colour map
-D: hide window manager decorations
-K: keep window manager key bindings
-S: caption button size (single application mode)
-T: window title
-t: disable use of remote ctrl
-N: enable numlock syncronization
-X: embed into another window with a given id.
-a: connection colour depth
-z: enable rdp compression
-x: RDP5 experience (m[odem 28.8], b[roadband], l[an] or hex nr.)
-P: use persistent bitmap caching
-r: enable specified device redirection (this flag can be repeated)
'-r comport:COM1=/dev/ttyS0': enable serial redirection of /dev/ttyS0 to COM1
or COM1=/dev/ttyS0,COM2=/dev/ttyS1
'-r disk:floppy=/mnt/floppy': enable redirection of /mnt/floppy to 'floppy' share
or 'floppy=/mnt/floppy,cdrom=/mnt/cdrom'
'-r clientname=': Set the client name displayed
for redirected disks
'-r lptport:LPT1=/dev/lp0': enable parallel redirection of /dev/lp0 to LPT1
or LPT1=/dev/lp0,LPT2=/dev/lp1
'-r printer:mydeskjet': enable printer redirection
or mydeskjet="HP LaserJet IIIP" to enter server driver as well
'-r sound:[local[:driver[:device]]|off|remote]': enable sound redirection
remote would leave sound on server
available drivers for 'local':
alsa: ALSA output driver, default device: default
'-r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD]': enable clipboard
redirection.
'PRIMARYCLIPBOARD' looks at both PRIMARY and CLIPBOARD
when sending data to server.
'CLIPBOARD' looks at only CLIPBOARD.
'-r scard[:"Scard Name"="Alias Name[;Vendor Name]"[,...]]
example: -r scard:"eToken PRO 00 00"="AKS ifdh 0"
"eToken PRO 00 00" -> Device in Linux/Unix enviroment
"AKS ifdh 0" -> Device shown in Windows enviroment
example: -r scard:"eToken PRO 00 00"="AKS ifdh 0;AKS"
"eToken PRO 00 00" -> Device in Linux/Unix enviroment
"AKS ifdh 0" -> Device shown in Windows enviroment
"AKS" -> Device vendor name
-0: attach to console
-4: use RDP version 4
-5: use RDP version 5 (default)
-o: name=value: Adds an additional option to rdesktop.
sc-csp-name Specifies the Crypto Service Provider name which
is used to authenticate the user by smartcard
sc-container-name Specifies the container name, this is usally the username
sc-reader-name Smartcard reader name to use
sc-card-name Specifies the card name of the smartcard to use

Kali Linux虚拟机安装完整安装过程及简单配置(视频)

附:视频中出现的两个txt文本,包含了大致的安装与配置过程:

文本1:KaliLinux虚拟机安装和初步配置

Kali Linux虚拟机安装和初步配置

大家好,今天给大家演示一下在VMware Workstation 14 pro里安装
Kali Linux的完整步骤和安装完成后的简单配置,包括添加更新源、配置DNS服务器
和安装中文输入法等

下面是详细步骤:

1.下载VMware
官网下载需要注册并登录才能下载,也可以使用
百度软件中心等站点提供的下载资源

双击安装,使用默认设置就可以了

2.下载qBittorrent(这是一个下载torrent种子的软件)

双击安装,使用默认设置就可以了

3.下载Kali种子
为了尽可能减少下载过程中出错的可能性,我们不
直接在浏览器里下载Kali,我们先下载一个torrent种子
,之后在上面下载安装好的qBittorrent里下载Kali

注意:Kali使用64位的在安装过程中可能出现提示说CPU不支持64位
如果出错我们可以改成使用32位的Kali,也就是i386

Kali主要是用于做渗透测试,为了保护我们的物理机真实IP不被暴露,
虚拟机Kali要使用桥接模式上网。

4.安装Kali

5.安装VMware Tools
安装好Tool后我们就可以在物理机和虚拟机Kali之间复制文件了

硬盘改大一点,太小的话可能安装不成功

这个硬盘的大小只是Kali可以使用的存储空间的最大值,不会把这些空间立即分配给Kali

6.添加国内更新源

7.Kali配置DNS服务器

8.Kali安装中文输入法

 

文本2:临时记录

我已经提前下载好了,这里就不再演示下载了

和安装其他软件一样,双击打开
之后使用默认设置安装就可以了

安装好之后就是这个样子了
在“我的计算机”这一栏里是我们安装好的虚拟机

现在给大家介绍一个bt种子下载软件,免费的

这是他的官网,百度搜一下就找到了

我已经下载好了,这里就不再演示下载了
下载好后双击打开,使用默认设置安装就可以啦
安装好之后就是这个样子的
点击绿色的+号可以添加bt种子
待会我们去Kali的官网下载一个Kali的BT种子
之后就可以用它下载了。

认准kali的官网是:
kali.org

这就是Kali的下载界面,前两个分别是64位
和32位的,一般我们先选择使用64位的,如果
64位的安装出错,那么在换32位的,在我是用VMware12的时候出现过在64位的CPU上安装64的Kali出错的情况,不过现在VMware已经更新到14了,没有出现过以前的情况了。

这里我们选择下载kali的bt种子的方式下载Kali

bt种子下载好了,下载可以下载kali了

稍等一会就下载好了,速度会越来越快
我已经下载好kali的系统映像了
这里就不再演示下载了

现在开始在VMware上安装Kali。

我们先在非系统盘里创建一个文件夹,将待会Kali的安装文件都放到这个文件夹里

这一步需要指定我问刚才下载的KALI系统映像文件的路径,该文件是以.iso结尾的。

Kali是Debian的发行版,我们这里选择系统的版本为Debian

把安装位置改成我们刚才新建的文件夹,这样方便管理

把鼠标放到Kali的屏幕上点击一下鼠标就进到虚拟机里了,使用Ctrl+Alt组合键可以再把鼠标返回到物理机

使用倒数第3个选项就可以图形化安装Kali

这里设置root用户的密码
kali是一个单用户操作系统,只有一个管理员(root)账户

这里需要安装一会时间
我先暂停一下

好了,欢迎回来!

安装即将结束

再等一会………………
再等一会………………

开机啦!!!

待会输入用户名:root
密码就是刚才设置的root密码:*****
现在Kali和物理机是相互隔离的
没法互相复制文件
我们试试看

真的拖不进来

现在我们安装VMware Tools
安装好之后就可以互相复制文件了

全部使用回车,使用默认设置

待会我们要给系统做一个快照,这样一旦我们今后做什么事把系统弄坏了,还可以回到现在这个初始状态

VMware现在安装好了
可以复制文件了,我们试试看吧

没复制上…………

我们重启看看…………

我先暂停一下………………

欢迎回来
刚才我重启启动了Kali
现在真的可以复制了
我们试一下吧

好了
下一步我们要添加Kali的国内更新源,这样以后下载工具时会快一点

对了,先拍个快照

我的博客上记录有最新的国内镜像网站,我们打开看一下

更新源添加好了,但是我们现在没办法在Kali里输入中文

下载我们就来安装中文输入法

在安装中文输入法之前我们先来配置一下DNS服务器,这样就可以上网了

如果不项配置也可以在VMware的设置里面将联网模式改成NAT模式

NAT模式使用的物理机的IP,可以直接上网。
下面配置DNS服务器
使用的是阿里云的公共DNS服务器;
223.5.5.5
223.6.6.6

现在开始安装中文输入法

下面我们去搜狗官网下载Linux版的搜狗输入法

出现软件包依赖问题
可以使用
apt-get install -f
解决依赖问题

现在重启一下

现在可以输入中文啦

谢谢收看

Kali Linux中下载工具Axel的安装和使用

前言:

Axel是一个多线程的HTTP/FTP下载工具,支持断点续传。

Axel的安装

apt-get install axel

Axel的卸载

apt remove axel

安装完成之后输入

axel

回车就会显示Axel的帮助页面,Axel 2.15-1版本的帮助页面原文如下:

root@kali:~# axel
Usage: axel [options] url1 [url2] [url...]

--max-speed=x       -s x    Specify maximum speed (bytes per second)
--num-connections=x -n x    Specify maximum number of connections
--max-redirect=x        Specify maximum number of redirections
--output=f      -o f    Specify local output file
--search[=n]        -S[n]   Search for mirrors and download from n servers
--ipv4          -4  Use the IPv4 protocol
--ipv6          -6  Use the IPv6 protocol
--header=x      -H x    Add HTTP header string
--user-agent=x      -U x    Set user agent
--no-proxy      -N  Just don't use any proxy server
--insecure      -k  Don't verify the SSL certificate
--no-clobber        -c  Skip download if file already exists
--quiet         -q  Leave stdout alone
--verbose       -v  More status information
--alternate     -a  Alternate progress indicator
--help          -h  This information
--timeout=x     -T x    Set I/O and connection timeout
--version       -V  Version information

Visit https://github.com/axel-download-accelerator/axel/issues to report bugs

Axel的用法如下:

命令格式:

axel [选项和参数] [下载链接1] [下载链接2] [下载链接3]

常用的选项及功能描述如下:

-a 显示进度条
-s [x] 指定每秒下载速度的最大比特数,“x”一般设置成200000以上(单位是“字节/秒”)
-n [x] 指定同时打开的线程数,“x”一般设置成10以上
-S [x] 搜索镜像并从X servers服务器下载
-o f 指定本地的输出文件(即指定本地的另存为目录)
-N 不使用代理服务器
-v 显示更多状态信息

注:

1.上述选项后面的“[x]”中的x代表数字,为该选项的参数。
2.如果不指定“本地保存目录”,则下载的文件会保存在执行下载命令时所在的目录(即当前目录)。
3.Axel支持断点续传,如果下载过程中断,可以再次执行原下载命令,即可从上次下载的进度处开始继续下载。
4.Axel可以从多个地址下载同一个文件。

2017年Kali Linux更新源

终端输入:

leafpad /etc/apt/sources.list

打开更新源配置文件,将下面的更新源复制到原内容的前面:

#163网易 Kali源
deb http://mirrors.163.com/debian wheezy main non-free contrib 
deb-src http://mirrors.163.com/debian wheezy main non-free contrib 
deb http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib 
deb-src http://mirrors.163.com/debian wheezy-proposed-updates main non-free contrib 
deb-src http://mirrors.163.com/debian-security wheezy/updates main non-free contrib 
deb http://mirrors.163.com/debian-security wheezy/updates main non-free contrib

#阿里云 Kali源
deb http://mirrors.aliyun.com/kali kali main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali main non-free contrib
deb http://mirrors.aliyun.com/kali-security kali/updates main contrib non-free

#中科大 Kali源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

#浙江大学 Kali源
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free

#东软大学 Kali源
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib

#重庆大学 Kali源
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib

#官方Kali源
#deb http://http.kali.org/kali kali-rolling main non-free contrib
#deb-src http://http.kali.org/kali kali-rolling main non-free contrib

最后保存并退出.

解决VMware虚拟机报错“无法连接MKS:套接字连接尝试次数太多,正在放弃”

1.错误描述

在VMware中打开虚拟机时报错:
“无法连接MKS:套接字连接尝试次数太多,正在放弃”
物理机操作系统:
Windows 7
虚拟机操作系统:
Kali Linux

2.解决办法如下

a.关闭出问题的虚拟机

b.依次打开:

“我的电脑”->“管理”->“服务和应用程序”->“服务”

c.右键启动以下服务:

VMware Authorization Service
VMware DHCP Service
VMware NAT Service
VMware USB Arbitration Service
VMware Workstation Server

开启原来出问题的虚拟机,可以正常启动,问题解决。

解决C语言程序报错:return type defaults to‘int’

下面是通过自定义一个函数printN,之后在main函数中调用printN,使得可以通过输入整数N,将从1到N的全部整数都打印出来的程序。
但是在编译过程中却报错:

return type defaults to ‘int’

产生报错的原因:

printN的默认返回值类型是int类型的,这样调用printN函数的main函数就需要定义为:

int main()

而不是:

main()

产生报错的程序:

#include<stdio.h>

//自定义printN函数
void printN (int N){
    int i;
    for(i = 1; i <= N; i++){
        printf("%d\n",i);
        }
        return;
    }

//声明printN函数
void printN(int N);

main(void)
{
    int N;
    printf("请输入N:");
    scanf("%d",&N);//传入参数
    printN(N);//调用printN函数
return 0;
    }

改正之后的程序:

#include<stdio.h>

//自定义printN函数
void printN (int N){
    int i;
    for(i = 1; i <= N; i++){
        printf("%d\n",i);
        }
        return;
    }

//声明printN函数
void printN(int N);

int main(void)
{
    int N;
    printf("请输入N:");
    scanf("%d",&N);//传入参数
    printN(N);//调用printN函数
return 0;
    }

解决BackBox中Fcitx输入法中文输入状态下不显示候选词框的问题

当我们安装Fcitx输入法时默认是安装了下面这个组件的:

fcitx-module-kimpanel

该组件在非KDE桌面环境下可能会使Fcitx输入法在输入中文时无法显示候选词框。

使用下面的命令移除该组件后重启操作系统即可:

sudo apt-get remove fcitx-module-kimpanel

注:该方法同样适用于尝试解决在Ubuntu上遇到的类似问题。

2017年BackBox5和Ubuntu16.04.1更新源

BackBox是基于Ubuntu的Linux发行版,因此,我们可以使用Ubuntu的更新源作为BackBox的更新源。
1.查看系统版本信息:
输入:

uname -a

显示计算机及操作系统的有关信息,在回显里我们可以看到:

Linux master 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:30:51 UTC 2017 i686 i686 i686 GNU/Linux

这表明我们现在使用的Linux内核是Ubuntu

另外我们还可以通过输入命令:

cat /proc/version

查看内核版本,运行回显如下:

Linux version 4.10.0-38-generic (buildd@lgw01-amd64-020) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #42~16.04.1-Ubuntu SMP Tue Oct 10 16:30:51 UTC 2017

输入:

cat /etc/issue

可以查看当前使用的发行版的信息,回显如下:

BackBox Linux 5 \n \l

因此,本文的操作环境为:
BackBox 5(基于Ubuntu16.04.1)

当然,在添加更新源时对版本的要求也不是这么绝对,一般情况下,只要更新源本身还在更新并能通过互联网访问,那么更新源就是可以使用的。

2.BackBox 5自带的更新源
BackBox 5自带的更新源均指向Ubuntu的官网地址,自带的更新源如下:

#deb cdrom:[BackBox Linux 5 - Release i386]/ xenial main multiverse restricted universe

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial universe
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://security.ubuntu.com/ubuntu xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse

3.补充BackBox国内更新源:
输入:

sudo leafpad /etc/apt/sources.list

使用leadpad打开更新源配置文件。
也可以输入:

sudo vi /etc/apt/sources.list

使用vi编辑器打开更新源配置文件
注:不要忘记加上sudo

将以下更新源复制到原更新源的前面保存即可:

#阿里云源
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

#网易源
deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse

#中科大源:
deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe

#东北大学源
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial main restricted #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial multiverse
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security multiverse

#清华大学源
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

注:更改更新源之前最好先对原有的更新源做一个备份,备份命令:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

附:
Ubuntu中文官网源列表地址

BackBox错误,无法获得锁…资源暂时不可用…无法锁定管理目录

今天准备给BackBox安装leafpad时,输入

sudo apt install leafpad

后出现了如下的错误提示:

E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

出现这种情况一般是由于apt-get进程在后台占用导致的,使用以下命令强制解锁被占用的资源:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

之后再安装leafpad,成功安装。


荒原之梦网全部内容均为原创,提供了涵盖考研数学基础知识、考研数学真题、考研数学练习题和计算机科学等方面,大量精心研发的学习资源。

豫 ICP 备 17023611 号-1 | 公网安备 - 荒原之梦 豫公网安备 41142502000132 号 | SiteMap
Copyright © 2017-2024 ZhaoKaifeng.com 版权所有 All Rights Reserved.

Copyright © 2024   zhaokaifeng.com   All Rights Reserved.
豫ICP备17023611号-1
 豫公网安备41142502000132号

荒原之梦 自豪地采用WordPress