分类 技术 下的文章

在本篇中,我们将继续配置网络特性。记住,网络是计算机最重要的特性,这篇文章和这之后的网络相关文章都要重点了解。

在我们开启这系列之前,我先要澄清一些事情。配置进程不会编辑你当前系统的内核。这个进程配置的是你编译(或者交叉编译)新内核前的源代码。一旦我完成了配置过程,那么我会讨论读者建议的话题。同样,作为提醒,每个段落中在引号或者括号中的第一句或者第二句(很少)的文本是配置工具中设置的名字。

首先,我们可以启用两个不同的稀疏型独立协议组播路由协议("IP: PIM-SM version 1 support" 和 "IP: PIM-SM version 2 support"),组播有点像广播,但是广播会给所有计算机发送信号而组播只会给选定的组或者计算机发送信号。所有PIM协议都是工作在IP的组播路由协议。

注意:当计算机与另外一台计算机或者服务器通信时,这叫做单播 - 只是以防你们想知道。

下一个要配置的网络特性是"ARP daemon support"。这让内核有一张IP地址表以及它们相应的在内部缓存中的硬件地址。ARP代表的是地址解析协议(Address-Resolution-Protocol)。

为了额外的安全,"TCP syncookie support"应该要启用。这保护计算机免于受到SYN洪水攻击。黑客或者恶意软件可能会发送SYN信息给一台服务器来消耗它的资源,以便让真实的访客无法使用服务器提供的服务。SYN消息会打开一个计算机和服务器之间的连接。Syncookie会阻断不正当的SYN消息。那么,真实的用户可以仍旧访问访问网站,而黑客则没办法浪费你的带宽。服务器应该启用这个特性。

下面的特性是用于 "Virtual (secure) IP: tunneling"。隧道是一个网络协议到另外一个网络协议的封装。当在使用虚拟私人网络(VPN)时需要使用安全隧道。

接下来,启用"AH transformation"增加对IPSec验证头的支持。这是一种管理数据验证的安全措施。

在这之后,启用"ESP transformation"增加对IPSec封装安全协议的支持。这是加密与可选择的数据验证的安全措施。

如果启用了这个特性(IP: IPComp transformation),Linux内核会支持IP负载压缩协议。这是一种无损压缩系统。无损指的是数据仍会保持完整,在解压缩后,数据在压缩前后没有变化。压缩在加密前先执行。由于更少的数据传输,所以这个压缩协议可以加速网络。

下面三个设置用于处理不同的IPsec特性("IP: IPsec transport mode"、"IP: IPsec tunnel mode"和"IP: IPsec BEET mode")。IPSec代表的是因特网安全协议(Internet Protocol SECurity).两台计算机之间并且/或者服务器间的传输模式是默认的IPSec模式。传输模式使用AH或者ESP头并且只加密IP头。在隧道模式下,IP头和负载会被加密。隧道模式通常用于连接网关到服务器/服务器或者服务器到服务器。BEET模式(Bound End-to-End Tunnel)不会在IP地址改变时重连。BEET模式下的连接会仍然存在。BEET模式比其他几种模式使用更少的字节。

下面,内核可以支持收到大量IPv4/TCP包时减轻栈负担(Large Receive Offload (ipv4/tcp))。网卡(NIC)处理TCP/IP栈。这个特性在内核中增加了处理大型栈的代码。

INET套接字可以启用(INET: socket monitoring interface)。INET套接字用于因特网。这个特性(当启用时)会监视来自或者发往因特网的连接与流量。

这里有另外一个套接字监视接口(UDP: socket monitoring interface)。这个用于用户数据报协议(User Datagram Protocol (UDP))。再说一下,这个特性监视UDP的套接字。

以下的设定会启用不同的TCP拥塞控制(TCP: advanced congestion control)。如果网络变得太忙或者带宽已满,那么许多计算机必须等待一些带宽或者它们的数据流会变慢。如果流量被合理管理,这回有助于网络性能提升。

TCP连接可以被MD5保护(TCP: MD5 Signature Option support)。这用于保护核心路由器之间的边界网关协议(Border Gateway Protocol (BGP))连接。核心路由器是网络中主要的路由器;这些路由器有时指的是因特网/网络的骨干。BGP是一种路由决策协议。

下一个设定允许你启用/禁用"The IPv6 protocol"。当你启用它,IPv4仍旧可以很好地工作。

下面的特性是一个特殊的隐私特性(IPv6: Privacy Extensions (RFC 3041) support)。这使得系统在网络接口中生成并使用不同的随即地址。

注意:计算机中没有数据是真正随机的。计算机中随机数和随机字串通常称为伪随机。

在多路由的网络中,这个特性允许系统能够更有效地计算出该使用哪一个(IPv6: Router Preference (RFC 4191))。

在这之后,一个用于处理路由信息的实验性特性可以启用/禁用(IPv6: Route Information (RFC 4191))。记住,在编译一个稳定内核时,除非你确实需要这个问题中特性,才去安装实验性的功能。

有时,当系统自动配置它的IPv6地址时,它可能会得到一个网络中已被使用的IPv6地址。这是一个允许重复地址检测(Duplicate Address Detection (DAD)的实验性特性(IPv6: Enable RFC 4429 Optimistic DAD)。

IPv6可以有不同的IPsecc特性支持("IPv6: AH transformation" 和 "IPv6: ESP transformation")。

IPv6同样可以使用先前讨论过的IP负载压缩协议(IP Payload Compression Protocol)(IPv6: IPComp transformation)。

这里甚至有IPv6移动支持(IPv6: Mobility)。这允许使用IPv6的移动设备在保留同样地址的情况下使用其他的网络。

再说一次,这里同样有一些针对IPv6的IPsec特性("IPv6: IPsec transport mode"、"IPv6: IPsec tunnel mode"、"IPv6: IPsec BEET mode")。

当启用此项后,IPv6可以支持MIPv6路由优化(IPv6: MIPv6 route optimization mode)。这样就可以确保最短和最佳网络路径了。如果消息在更少的路由和网络设备间发送,那么下载和上传速度就可以更快。

如果一个管理员需要连接到两个IPv6网络,但是只能通过IPv4来连接,这时内核使这个变得可能(IPv6: IPv6-in-IPv4 tunnel (SIT driver)。这通过隧道使IPv6报文穿越IPv4网络。

这个隧道特性是用于IPv6-in-IPv6 和 IPv4 tunneled in IPv6 (IPv6: IP-in-IPv6 tunnel (RFC2473))

另外一个隧道特性是(IPv6: GRE tunnel)。他只允许GRE隧道。(GRE:通用路由封装(Generic Routing Encapsulation))

允许支持多重路由表(IPv6: Multiple Routing Tables)。路由表是一张网络位置列表和数据要去目的地的路径。

允许根据源地址或前缀进行路由如果启用了(IPv6: source address based routing)。

"IPv6 Multicast routing"(IPv6组播路由)仍然是实验性质。IPv4和IPv6处理组播的方式不同。

典型的组播路由根据目标地址和源地址来处理组播包(IPv6: multicast policy routing)。启用这个选项会将接口和包的标记(mark)包含到决策中。

下面可以启用IPv6的PIM-SMv2 组播路由协议(IPv6: PIM-SM version 2 support)。这与先前提到的IPv4 PIM相同。因为IPv4和IPv6不同,所以PIM可以被v4/v6同时/分别激活

网络包标签协议(Network packet labeling protocols)(就像CIPSO和RIPSO)可以启用(NetLabel subsystem support)。这些标签包含了安全信息和权限。

网络包可以通过启用安全标记(Security Marking)变得更安全。

这个网络特性增加了一些开销(Time-stamping in PHY devices)。物理层(PHY)设备可以给网络包打上时间戳。PHY代表的是"PHYsical layer"。这些设备管理收到和发送的消息。

可以启用netfilter(Network packet filtering framework)。Netfilters过滤并修改过往的网络包。包过滤器是一种防火墙。如果包满足了一定的条件,包不会被允许通过。

数据报拥塞控制协议(Datagram Congestion Control Protocol)可以启用(The DCCP Protocol)。DCCP允许双向单播连接。DCCP有助于流媒体、网络电话和在线游戏。

下一步,流控制传输协议(Stream Control Transmission Protocol)可以启用(The SCTP Protocol)。SCTP工作在IP顶层并且是一个稳定可靠的协议。

下面的协议是可靠数据报套接字(Reliable Datagram Sockets)协议(The RDS Protocol)。

RDS可以使用Infiniband和iWARP作为一种支持RDMA的传输方式(RDS over Infiniband and iWARP),Infiniband和iWARP都是协议。RDMA代表的是远程直接内存访问(remote direct memory access)。RDMA用于一台远程计算机访问另一台计算机的内存而无需本机计算机操作系统的辅助。这就像直接内存访问(DMA),但是这里远程代替了本地计算机。

RDS同样可以使用TCP传输(RDS over TCP)

接下来,"RDS debugging messages"应该禁用。

下面的网络协议用于集群(The TIPC Protocol)。集群就是一组计算机作为一台计算机。它们需要有一个方式去通信,所以他们使用透明内部进程间通信协议(Transparent Inter Process Communication (TIPC))。

这个高速协议使用固定大小的数据包(Asynchronous Transfer Mode (ATM))。

使用ATM的IP可以与连接到一个ATM网络的IP的系统通信(Classical IP over ATM)。

下一个特性禁用"ICMP host unreachable"(ICMP主机不可达)错误信息(Do NOT send ICMP if no neighbor)。这防止了由于重新校验而移除ATMARP表被移除的问题。ATMARP表管理地址解析。ICMP代表的是因特网控制消息协议(Internet Control Message Protocol)并被常用于通过网络发送错误消息。

LAN仿真(LANE)仿真了ATM网络上的LAN服务(LAN Emulation (LANE) support)。一台LANE计算机可以作为桥接Ethernet和ELAN的代理。

"Multi-Protocol Over ATM (MPOA) support"允许ATM设备通过子网边界发送连接。

在这个特性下,至少在kernel看来ATM PVCs的行为就像Ethernet(RFC1483/2684 Bridged protocols)。PVC代表的是永久虚电路(permanent virtual circuit)。虚拟连接是一种基于包的连接,它伴随着主/原始协议使用其他更高层的协议。

"Layer Two Tunneling Protocol (L2TP)"(二层隧道协议)是隧道对应用透明。虚拟私有网络(Virtual Private Networks (VPNs))使用L2TP

要想使用基于Linux的以太网桥,启用这个桥特性(802.1d Ethernet Bridging)。在网络中,一个桥同时连接两个或者更多的连接。以太网桥是使用以太网端口的硬件桥。

"IGMP/MLD snooping"(IGMP/MLD 探听)是一种以太网桥能够基于IGMP/MLD负载选择性地转发组播信号的能力。禁用这个特性能够明显减少内核的大小。IGMP代表的是因特网组管理协议(Internet Group Management Protocol),这是一种被用于设置组播组的协议。MLD代表多播监听发现(Multicast Listener Discovery)。

下一个过滤特性允许以太网桥选择性地管理在每个数据包中的基于VLAN的信息的流量。禁用这个特性可以减小内核的大小。

通过启用这个特性(802.1Q VLAN Support),VLAN接口可以在以太网上创建。下面"GVRP (GARP VLAN Registration Protocol)"支持GVPR协议被用于在网络设备上注册某些vlan。

在这之后,"MVRP (Multiple VLAN Registration Protocol) support"(多重VLAN注册协议)可以启用。MVRP是GVRP更新的替代品。

"DECnet Support"是一种Digital公司发明的网络协议。这是一中既安全又稳定的协议。

"DECnet router support"允许用户制作基于Linux的支持DRCnet的路由。

注意:Linux可以用于服务器、工作站、路由器、集群、防火墙并支持其他许多用途。

下面的特性用于支持逻辑链路层2(Logical Link Layer type 2)(ANSI/IEEE 802.2 LLC type 2 Support)。这层允许在同一个网络设备上使用多个协议。强烈建议在网络很重要的环境中启用这个特性。最好所有内核都支持这个特性。

在下一篇文章中,我们将讨论更多的关于可以配置的网络设定。


via: http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-8.4525/

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Wi-Fi网络能够让我们便利地访问因特网,但同时,我们又不希望隔壁抠门猥琐男总是蹭我们的网,所以自然要给WiFi加个密码,对吧?于是,好消息是,也许你已经看过我的另一篇文章,“如何使用BackTrack破解WIFI无线网络的WEP密钥”,所以你使用了更稳固的WPA安全协议。

但坏消息是,现在有一款自由开源新工具——Reaver,已经挖掘出了无线路由器的一个漏洞,由此能够破解绝大多数路由器上的密码。今天,我就来一步步介绍,如何使用Reaver破解WPA/WPA2密码。最后我会给出相应的防范对策。

文章的第一部分,是使用Reaver破解WPA的详细步骤,读者可以看视频,也可以跟着下面的文字一起做。然后,我会解释Reaver的工作原理。最后,介绍如何防范Reaver攻击。

http://www.youtube.com/embed/z1c1OIMbmb0?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1

在正式开始之前,我还是要不厌其烦强调一下:知识就是力量,但是拥有力量不代表着可以为所欲为、触犯法律。同样,骑白马的不一定是王子,会开锁的也不一定是小偷。本文只是关于某些技术的实验与验证,只适用于学习。你知道的越多,就能够越好的保护自己。

准备工作

首先,无需成为一名网络专家,学会使用复杂的命令行工具,你只需要准备一张空白DVD、一台能连接WiFi的电脑,并腾出几个小时时间,这就是我们基本需要的东西。要安装Reaver,可以有很多方法,但是这里我们建议你按照下面的指南来做:

  • The BackTrack 5 Live DVD。BackTrack是一款支持自启动的Linux发行版,上面集成了大量的网络测试工具。虽然这对于安装、配置Reaver并不是必需的一个条件,但是对于大多数用户却是最简单一个方法。从BackTrack的下载页面(传送门)下载Live DVD,然后刻盘。这里你也可以下载镜像然后使用VMware安装,如果你不知道VMware是啥,额,那就还是刻盘吧。如图所示,下载的时候,下拉菜单选择BackTrack 5 R3版本、Gnome环境、根据你的CPU选择32或64位系统(如果这里不确定是32还是64,为了保险起见,请选择32位),下载类型选择ISO,然后就可以点击下载了。
  • 配有DVD光驱、支持WiFi的电脑。BackTrack支持大多数的笔记本无线网卡,这一点对于大多数读者应该没什么问题。同时,你的电脑需要有一个DVD光驱,这样才能从BackTrack光盘启动。我的测试环境是一台用了6年的MacBook Pro。
  • 附近要有采用WPA加密的WiFi网络。没WiFi网,你破解谁去 =。= ……一会我会在“Reaver的工作原理部分”介绍,WiFi防护设置是如何产生安全漏洞、WPA破解是如何成为可能的。
  • 最后,你还需要一点点的耐心。这是整个实验的最后一步,使用Reaver破解WPA密码并不难,它采用的是暴力破解,因此,你的电脑将会测试大量不同的密码组合,来尝试破解路由器,直到最终找到正确的密码。我测试的时候,Reaver花了大概两个半小时破解了我的WiFi密码。Reaver的主页上介绍,一般这个时间在4到10个小时之间,视具体情况而定。

让我们开始吧

此时,你应该已经把BackTrack的DVD光盘刻录好了,笔记本也应该已经准备就绪。

第1步:启动BackTrack

要启动BackTrack,只需将DVD放入光驱,电脑从光盘启动。(如果不知道如何使用live CD或DVD启动,请自行Google。)启动过程中,BackTrack会让你选择启动模式,选择默认的“BackTrack Text - Default Boot Text Mode”然后回车。

最终BackTrack会来到一个命令行界面,键入startx,回车,BackTrack就会进入它的图形界面。

第2步:安装Reaver

(文章更新:Reaver在R3版中已经预装,如果你安装的是BT5的R3版,这一步骤可以忽略,直接跳到第3步。)

Reaver已经加入了BackTrack的最新版软件包,只是还没有集成到live DVD里,所以,在本文最初撰写的时候,你还需要手动安装Reaver。要安装Reaver,首先设置电脑联网。

1.点击Applications > Internet > Wicd Network Manager 2.选择你的网络并点击Connect,如果需要的话,键入密码,点击OK,然后再次点击Connect。

连上网以后,安装Reaver。点击菜单栏里的终端按钮(或者依次点击 Applications > Accessories > Terminal)。在终端界面,键入以下命令:

apt-get update

更新完成之后,键入:

apt-get install reaver

如果一切顺利,Reaver现在应该已经安装好了。如果你刚才的下载安装操作使用的是WiFi上网,那么在继续下面的操作之前,请先断开网络连接,并假装不知道WiFi密码 =。= 接下来我们要准备破解它~

第3步:搜集设备信息,准备破解

在使用Reaver之前,你需要获取你无线网卡的接口名称、路由的BSSID(BSSID是一个由字母和数字组成的序列,用于作为路由器的唯一标识)、以及确保你的无线网卡处于监控模式。具体参见以下步骤。

找到无线网卡:在终端里,键入:

iwconfig

回车。此时你应该看到无线设备的相关信息。一般,名字叫做wlan0,但如果你的机子不止一个无线网卡,或者使用的是不常见的网络设备,名字可能会有所不同。

将无线网卡设置为监控模式:假设你的无线网卡接口名称为wlan0,执行下列命令,将无线网卡设置为监控模式:

airmon-ng start wlan0

这一命令将会输出监控模式接口的名称,如下图中箭头所示,一般情况下,都叫做mon0。

找到你打算破解的路由器的BSSID:最后,你需要获取路由器的唯一标识,以便Reaver指向要破解的目标。执行以下命令:

airodump-ng wlan0

(注意:如果airodump-ng wlan0命令执行失败,可以尝试对监控接口执行,例如airodump-ng mon0)

此时,你将看到屏幕上列出周围一定范围内的无线网络,如下图所示:

当看到你想要破解的网络时,按下Ctrl+C,停止列表刷新,然后复制该网络的BSSID(图中左侧字母、数字和分号组成的序列)。从ENC这一列可以看出,该网络是WPA或WPA2协议。(如果为WEP协议,可以参考我的前一篇文章——WEP密码破解指南

现在,手里有了BSSID和监控接口的名称,万事俱备,只欠破解了。

第4步:使用Reaver破解无线网络的WPA密码

在终端中执行下列命令,用你实际获取到的BSSID替换命令中的bssid:

reaver -i moninterface -b bssid -vv

例如,如果你和我一样,监控接口都叫做mon0,并且你要破解的路由器BSSID是8D:AE:9D:65:1F:B2,那么命令应该是下面这个样子:

reaver -i mon0 -b 8D:AE:9D:65:1F:B2 -vv

最后,回车!接下来,就是喝喝茶、发发呆,等待Reaver魔法的发生。Reaver将会通过暴力破解,尝试一系列PIN码,这将会持续一段时间,在我的测试中,Reaver花了2个半小时破解网络,得出正确密码。正如前文中提到过的,Reaver的文档号称这个时间一般在4到10个小时之间,因此根据实际情况不同,这个时间也会有所变化。当Reaver的破解完成时,它看起来是下图中这个样子:

一些要强调的事实:Reaver在我的测试中工作良好,但是并非所有的路由器都能顺利破解(后文会具体介绍)。并且,你要破解的路由器需要有一个相对较强的信号,否则Reaver很难正常工作,可能会出现其他一些意想不到的问题。整个过程中,Reaver可能有时会出现超时、PIN码死循环等问题。一般我都不管它们,只是保持电脑尽量靠近路由器,Reaver最终会自行处理这些问题。

除此以外,你可以在Reaver运行的任意时候按下Ctrl+C中断工作。这样会退出程序,但是Reaver下次启动的时候会自动恢复继续之前的工作,前提是只要你没有关闭或重启电脑(如果你直接在live DVD里运行,关闭之前的工作都会丢失)。

Reaver的工作原理

你已经学会了使用Reaver,现在,让我们简单了解一下Reaver的工作原理。它利用了WiFi保护设置(WiFi Protected Setup - 下文中简称为WPS)的一个弱点,WPS是许多路由器上都有的一个功能,可以为用户提供简单的配置过程,它与设备中硬编码保存的一个PIN码绑定在一起。Reaver利用的就是PIN码的一个缺陷,最终的结果就是,只要有足够的时间,它就能破解WPA或WPA2的密码。

关于这个缺陷的具体细节,参看Sean Gallagher's excellent post on Ars Technica

如何防范Reaver攻击

该缺陷存在于WPS的实现过程中,因此,如果能够关闭WPS,WiFi就是安全的(或者,更好的情况是,你的路由器天生就木有这一功能)。但不幸的是,正如Gallagher在Ars的文章中所指出的,即使在路由器设置中人为关掉了WPS,Reaver仍然能够破解其密码。

在一次电话通话中,Craig Heffner说道,很多路由器即使关闭WPS都无法有效防范攻击。他和同事一起测试过,所有的Linksys和Cisco Valet无线路由器都是如此。“在所有的Linksys路由器上,你甚至无法手动关闭WPS,”他说,尽管Web界面中有关闭WPS配置的按钮,但是“它仍然会自动打开,极易受到攻击”。

因此,方法一:失败!。也许你可以亲自尝试把你的路由器WPS关闭,然后测试一下Reaver是否还能成功破解。

你也可以在路由器中设置一下MAC地址过滤(只允许指定的白名单设备连接你的网络),但是有经验的黑客还是能够检测出设备的白名单MAC地址,并使用MAC地址仿冒你的计算机。

方法二:失败!那到底该怎么办?

我的建议是,我曾经在我的路由器上安装了开源路由固件DD-WRT,成功防御了Reaver攻击。因为,DD-WRT天生就是不支持WPS的,因此,这成为了又一个我热爱自由软件的原因。如果你也对DD-WRT感兴趣,可以看一下这里的设备支持列表,看是否支持你的路由器设备。除了安全上的升级,DD-WRT还可以监控网络行为设置网络驱动器拦截广告增强WiFi信号范围等,它完全可以让你60美刀的路由器发挥出600美刀路由器的水平


via: http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver

译者:Mr小眼儿 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

你可能已经知道如果你想要加锁自己的WIFI无线网络,你最好选择WPA加密方式,因为WEP加密很容易被人破解。但是,你知道有多么的容易么?下面我们来看看吧。

注意:此帖是验证如何破解很少使用而陈旧的WEP加密协议。如果你希望破解的网络采用了更受欢迎的WPA加密,请看这篇:如何使用Reaver破解Wi-Fi网络的WPA密码

今天我们来看看如何一步一步的破解采用WEP加密方法加密的WIFI网络。但是,有言在先:知识是一种力量,但是力量并不意味着你应该成为一个混球或者做任何违法的事。知道如何挑选一把锁具并不会让你成为一个贼。请将此帖用于教育性质或者概念验证性试验。

关于如何使用这个方案破解WEP加密的教程在互联网上有很多。认认真真的谷歌下,这个并不能被称作新闻。但是,让人惊讶的是如笔者一般的只有很少的网络经验的菜鸟,也可以使用一些免费的软件和廉价的WIFI适配器来完成这个做破解。下面就来看看吧!

你需要些什么

除非你是一个电脑网络安全的忍者,否则你不太可能具有完成实验的所有工具。以下是你需要的:

  • 一个兼容的无线适配器.这是最主要的需求。你需要一个无线适配器,能用来完成包注入,你的电脑很可能不具备这个功能。在和我的安全专家邻居讨论了以后,我从亚马逊上花了50美元购买了一个Alfa AWUS050NH适配器,图片如上。更新:别学我,其实应该买Alfa AWUS036H而不是US050NH。视频里的哥们儿用$12美金在Ebay上买了一个解调器(同时可以选择把自己的路由器卖掉)。网上有很多可以兼容aircrack的适配器
  • 一个BackTrack Live CD. 我们已经提供了一个完整的BackTrack 3的安装使用教程,Linux Live CD可以让你完成所有的安全测试和测试工作。请自行下载一个CD镜像,然后刻录或者从VMware中启动它。
  • 一个靠近的WEP加密的WIFI网络. 信号需要足够的强,理想的情况下最好有用户正在使用、连接和断开设备。越多的人使用网络,你就可以的到更多的破解数据,这样你就更可能成功。
  • 使用命令行的耐心. 这里总共有10步,总共需要输入很长、很难懂的命令,然后等你的wifi网卡收集足够破解密码的数据。就像一个医生和一个急躁的病人说,要有点耐心。

破解WEP

为了破解WEP,你需要启动一个Konsole,它是BackTrack内置的命令行界面,它在任务栏的左下角,从左往右第二个图标。现在,输入命令吧。

第一步,运行下面的命令,获得你网卡列表:

airmon-ng

笔者只看见了一个ra0的结果。你的可能不一样;记录下这些内容(找个纸或者截图)。现在开始,更改替换掉命令中每一个包括(interface)的地方。

现在,运行下面的四个命令。看看截图里的输入结果。

airmon-ng stop (interface)
ifconfig (interface) down
macchanger —mac 00:11:22:33:44:55 (interface)
airmon-ng start (interface)

如果你没有获得像截图一样的结果,最可能的情况就是你的无线网卡不能在特殊破解模式下工作。如果你成功了,你应该已经成功的在你的无线网卡上伪造了一个新的MAC地址,00:11:22:33:44:55.

现在,开始使用的你网络接口,运行:(译者注:interface在范例中就是ra0)

airodump-ng (interface)

就可以看见你周围的wifi网络列表了。当你认准了你的目标后,按Ctrl+C结束列表。高亮你感兴趣的网络,同时记录下两样数据:它的BSSID和它的Channel(讯道,标签为CH的那列),就像下面的截图。很明显你想要破解的网络需要是WEP加密的,而不是WPA或者其他加密方式。

就像我说的,按Ctrl+C来终止列表。(我需要重复一两次来找到我需要的网络)一旦你找到了你需要破解的网络,高亮BSSID然后复制它到你的剪切板来为将要输入的命令做准备。

现在我们需要观察你选中的目标网络,并捕捉信息存入一个文件里,运行如下命令:

airodump-ng -c (channel) -w (file name) —bssid (bssid) (interface)

其中,(channel),(bssid)就是你之前获取的那些信息。你可以使用Shift+Insert来将剪切板中的bssid信息粘贴到命令行中。随便给你的文件取个名字。我用的是“YoYo”,我破解的网络的名字。

你能够得到如截图中的窗口输出。就这么放着这个窗口。在前台新建一个konsole窗口,输入如下命令:

aireplay-ng -1 0 -a (bssid) -h 00:11:22:33:44:55 -e (essid) (interface)

这里的ESSID是接入点SSID的名字,例如我的就是YoYo。你希望能在运行后得到“Association successful”的结果。

你如果到了这一步,现在是时候运行下面的命令了:

aireplay-ng -3 -b (bssid) -h 00:11:22:33:44:55 (interface)

现在,我们创建了一个路由通路来更快的抓取数据,从而加快我们的破解过程。几分钟以后,前台的窗口会开始疯狂的读写数据包。(这时,我也不能用YoYo的网络在另一台机器上上网)这里,你可以喝杯Java牌儿咖啡,然后出去走走。一般来说,你需要收集到足够的数据后再运行你的破解程序。看着“#Data”列里的数据,你需要它在10,000以上。(图里的数据只有854)

这个过程可能需要一些时间,这取决于你的网络信号强度(截图中可以看到,我的信号强度低于-32DB,虽然YoYo的AP和我的适配器在同一间屋里)。等待直到包数据到达10K,因为在此之前破解过程不会成功。实际上,你可能需要超过10K,虽然他可能是大多数情况下都足够了。

一旦你收集了足够多的数据,就是见证奇迹的时刻了。启动第三个终端窗口,同时输入下面的命令来破解你收集到的数据:

aircrack-ng -b (bssid) (filename-01.cap)

这里的filename就是你在上面输入的文件名。你可以在自己的Home目录下看到。他应该是一个.cap后缀名的文件。

如果你没有足够的数据,破解可能失败,aircrack会告诉你获得更多的数据后重新尝试。如果成功了,你会看到如图结果:

WEP密钥会接着显示“KEY FOUND”。去掉引号,然后输入他就可以登录到目标网络了。

这个过程中的问题

通过这篇文章,我们可以证明想要破解WEP加密的网络对于任何一个具有硬件和软件人来说是如此简单的过程。我一直认为是这样的,但是不像下面视频里的伙计,这个过程中我遇到了很多的问题。实际上,你应该可以注意到最后一张截图和其他的不一样,因为它不是我的截图。虽然我破解的AP是我自己的AP,和我的Alfa在同一间屋子里,而且读取的信号强度一直在-30左右,但是数据的收集速度依然很缓慢,而在数据收集完成以前,BackTrack不能破解他。在尝试了各种方案(在我的MAC和PC上),我始终没能抓取到足够的数据量来破解密钥。

所以,这个过程在理论上是很简单的,实际上因为设备、到AP的距离却又因人而异.

可以去Youtube上看看视频,感受下这个伙计的实际操作。

http://www.youtube.com/embed/kDD9PjiQ2_U?wmode=transparent&rel=0&autohide=1&showinfo=0&enablejsapi=1

感受到一点使用BackTrack破解WEP加密的作用了么?你想说些什么呢?赶快换掉它吧。


via: http://lifehacker.com/5305094/how-to-crack-a-wi+fi-networks-wep-password-with-backtrack

译者:stduolc 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Jailkit和jailed Shell

受限shell(Jailed Shell)是一类被限制的shell,它看起来非常像真实的Shell,但是它不允许查看和修改真实的文件系统的任何部分。Shell内的文件系统不同于底层的文件系统。这种功能是通过chroot和其他多种程序实现的。举例来说,给用户建立一个linux shell去让他“玩玩”,或者在一个限定的环境里运行一些程序的所有功能等等。

在这个教程里我们将会探讨在Ubuntu下用jailkit建立一个受限shell。Jailkit是一个让你快速建立一个受限shell的工具,将受限用户放到里面,并配置那些要在受限制环境里运行的程序。

Jailkit 从这里下载:http://olivier.sessink.nl/jailkit/

在Ubuntu/Debian 上安装 jailkit

  1. 因为jaikit需要在系统上编译,首先,我们需要有用于编译的那些工具。所以,安装如下包:
$ sudo apt-get install build-essential autoconf automake libtool flex bison debhelper binutils-gold
  1. 从下述URL下载Jailkit,或者访问它的网站以下载最新版本的,如果有了更新版本的话。http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
$ wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
  1. 解压
$ tar -vxzf jailkit-2.16.tar.gz
  1. 编译并创建deb软件包

Jailkit已经包含了用于编译成deb软件包的代码和配置,可以直接安装在Debian系的Linux上。运行下列命令来完成它。

$ cd jailkit-2.16/
$ sudo ./debian/rules binary
  1. 安装deb软件包

上述命令创建的deb软件包叫做: jailkit2.16-1amd64.deb.

$ cd ..
$ sudo dpkg -i jailkit_2.16-1_amd64.deb

就是这样,现在Jailkit已经安装完成了。Jailkit有许多命令可以用来设置一个基于chroot的受限环境,如下是这些命令:

$ jk_
jk_addjailuser   jk_chrootlaunch  jk_cp            jk_jailuser      jk_lsh           jk_uchroot       
jk_check         jk_chrootsh      jk_init          jk_list          jk_socketd       jk_update

上述命令都有man帮助信息,如果你使用它们时,可以参考。

配置Jailed Shell

  1. 配置受限环境

我们需要建立一个目录来存放所有受限环境的配置。目录随便放在什么地方,比如我们可以创建个/opt/jail的目录。

$ sudo mkdir /opt/jail

这个目录应为Root所有。用chown改变属主。

$ sudo chown root:root /opt/jail
  1. 设置在受限环境中可用的程序

任何程序想要在受限环境中执行则必须用jk\_init命令拷贝到目录中。

例如:

$ sudo jk_init -v /jail basicshell 
$ sudo jk_init -v /jail editors 
$ sudo jk_init -v /jail extendedshell 
$ sudo jk_init -v /jail netutils 
$ sudo jk_init -v /jail ssh 
$ sudo jk_init -v /jail sftp
$ sudo jk_init -v /jail jk_lsh

或一次性解决:

$ sudo jk_init -v /opt/jail netutils basicshell jk_lsh openvpn ssh sftp

像basicshell, editors, netutils是一些组名,其中包含多个程序。复制到jail shell中的每个组都是可执行文件、库文件等的集合。比如basicshell就在jail提供有bash, ls, cat, chmod, mkdir, cp, cpio, date, dd, echo, egrep等程序。

完整的程序列表设置,你可以在/etc/jailkit/jk\_init.ini中查看。

jk\_lsh (Jailkit limited shell) - 这是一个重要的部分,必须添加到受限环境中。
  1. 创建将被监禁的用户

需要将一个用户放入jail里。可以先创建一个

$ sudo adduser robber
Adding user `robber' ...
Adding new group `robber' (1005) ...
Adding new user `robber' (1006) with group `robber' ...
Creating home directory `/home/robber' ...
Copying files from `/etc/skel' ...  
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for robber
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] y

注意:目前创建的是一个在实际文件系统中的普通用户,并没有添加到受限环境中。

在下一步这个用户会被放到受限环境里。

这时候如果你查看/etc/passwd文件,你会在文件最后看到跟下面差不多的一个条目。

robber:x:1006:1005:,,,:/home/robber:/bin/bash

这是我们新创建的用户,最后部分的/bin/bash指示了这个用户如果登入了那么它可以在系统上正常的Shell访问

  1. 限制用户

现在是时候将用户限制

$ sudo jk_jailuser -m -j /opt/jail/ robber

执行上列命令后,用户robber将会被限制。

如果你现在再观察/etc/passwd文件,会发现类似下面的最后条目。

robber:x:1006:1005:,,,:/opt/jail/./home/robber:/usr/sbin/jk_chrootsh

注意:最后两部分表明用户主目录和shell类型已经被改变了。现在用户的主目录在/opt/jail(受限环境)中。用户的Shell是一个名叫jk\_chrootsh的特殊程序,会提供Jailed Shell。

jk\_chrootsh这是个特殊的shell,每当用户登入系统时,它都会将用户放入受限环境中。

到目前为止受限配置已经几乎完成了。但是如果你试图用ssh连接,那么注定会失败,像这样:

$ ssh robber@localhost
robber@localhost's password: 
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
* Documentation:  https://help.ubuntu.com/
13 packages can be updated.
0 updates are security updates.
*** /dev/sda7 will be checked for errors at next reboot ***
*** /dev/sda8 will be checked for errors at next reboot ***
Last login: Sat Jun 23 12:45:13 2012 from localhost
Connection to localhost closed.
$

连接会立马关闭,这意味着用户已经活动在一个受限制的shell中。

  1. 给在jail中的用户Bash Shell

下个重要的事情是给用户在限制环境中的一个正确的bash shell。

打开下面的文件

/opt/jail/etc/passwd

这是个jail中的password文件。类似如下

root:x:0:0:root:/root:/bin/bash
robber:x:1006:1005:,,,:/home/robber:/usr/sbin/jk_lsh

将/usr/sbin/jk\_lsh改为/bin/bash

root:x:0:0:root:/root:/bin/bash
robber:x:1006:1005:,,,:/home/robber:/bin/bash

保存文件并退出。

  1. 登入限制环境

现在让我们再次登入受限环境

$ ssh robber@localhost
robber@localhost's password: 
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
 * Documentation:  https://help.ubuntu.com/
13 packages can be updated.
0 updates are security updates.
*** /dev/sda7 will be checked for errors at next reboot ***
*** /dev/sda8 will be checked for errors at next reboot ***
Last login: Sat Jun 23 12:46:01 2012 from localhost
bash: groups: command not found
I have no name!@desktop:~$

受限环境说'I have no name!',哈哈。现在我们在受限环境中有了个完整功能的bash shell。

现在看看实际的环境。受限环境中的根目录实际就是真实文件系统中的/opt/jail。但这只有我们自己知道,受限用户并不知情。

I have no name!@desktop:~$ cd /
I have no name!@desktop:/$ ls
bin  dev  etc  home  lib  lib64  run  usr  var
I have no name!@desktop:/$

也只有我们通过jk\_cp拷贝到jail中的命令能使用。

如果登入失败,请检查一下/var/log/auth.log的错误信息。

现在尝试运行一些网络命令,类似wget的命令。

$ wget http://www.google.com/

如果你获得类似的错误提示:

$ wget http://www.google.com/
--2012-06-23 12:56:43--  http://www.google.com/
Resolving www.google.com (www.google.com)... failed: Name or service not known.
wget: unable to resolve host address `www.google.com'

你可以通过运行下列两条命令来解决这个问题:

$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_files.so.2
$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_dns.so.2

这样才能正确的定位到libnssfiles.so和libnssdns.so

在限制环境中运行程序或服务

现在配置已经完成了。可以在限制/安全的环境里运行程序或服务。要在限制环境中启动一个程序或守护进程可以用jk\_chrootlaunch命令。

$ sudo jk_chrootlaunch -j /opt/jail -u robber -x /some/command/in/jail

jk\_chrootlaunch工具可以在限制环境中启动一个特殊的进程同时指定用户特权。如果守护进程启动失败,请检查/var/log/syslog/错误信息。

在限制环境中运行程序之前,该程序必须已经用jk\_cp命令复制到jail中。

jk\_cp - 将文件包括权限信息和库文件复制到jail的工具 

进一步阅读有关其他jailkit命令信息,可以阅读文档,http://olivier.sessink.nl/jailkit/


via: http://www.binarytides.com/install-jailkit-ubuntu-debian/

via: http://www.binarytides.com/setup-jailed-shell-jailkit-ubuntu/

译者:Luoxcat 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

当提到桌面环境时,对你来说选择一个合适的可能是个值得深思的个人问题。在这篇文章中,我会比较Gnome和KDE这两种最为流行的Linux桌面环境之间的不同之处,也会通过对比它们的优缺点来探究每一种桌面环境所能提供的功能。

第一印象

第一眼看到桌面,你可能会觉得KDE看起来比Gnome更光亮,并提供一个更友好的科技外观。此外,如果你习惯于Windows环境,屏幕底部的菜单和按钮布局会让你感觉KDE看起来更熟悉一些。你可以很容易地找到Kmenu,启动程序以及仅仅点击几下鼠标就能找到文档。

KDE的另一个重要和熟悉的好处是方便地在每个打开的文档、图片和应用中使用最小化和关闭按钮。对于那些习惯其它平台的人来说,这些特性可能会认为是理所当然的。但是考虑到对于像Gnome这样不再提供一个真正的最小化选项的桌面来说,这里是值得给予KDE支持的。

第一次加载进入Gnome 3,如果你来自另一个平台,它的桌面可能被认为是很奇怪的。像经典的Gnome一样,你想访问的文档和工具并不位于屏幕的底部。让新手们感到更陌生的是,关闭已经打开的窗口的方法是如此的“与众不同”。然而,站在支持Gnome3的角度上,我发现只要你习惯了这种新的做事方式,会觉得这是一段相当愉快的经历。我所知道的已经试用过Gnome3的新用户们也普遍地感觉良好。

小工具和扩展

随着我们深入了解Gnome和KDE提供的扩展和小工具,这两种桌面环境之间的差别会越来越大。尽管它们都能提供你可以启动的附件以增强桌面体验,但是它们在如何处理扩展功能上的分界并不相同。

KDE采用一种有趣的方式,即你可以桌面小部件划分到称为“活动区”的分组中。这使得你可以创建一个包含一系列桌面小部件的活动区,以处理特定的工作流。

相反地,Gnome按照另一种方式定义活动区。Gnome使它的活动区更加基于任务和应用,而不是以小部件为中心。例如,如果我正在使用多个应用程序,切换到Gnome活动区视图允许你能够可视化地、及时地访问每一个任务。

设置你的桌面

虽然在通过GUI提供充足的设置方面Gnome做得越来越好,但KDE依然是这个领域的王者。(译注:对于这一点,不同的人有不同的看法。)

使用KDE,你可以通过设置去控制几乎桌面的每一个方面。一些诸如OpenSUSELinux发行版,通过紧密地把它们的工具 (YaST) 集成到KDE的设置环境中,在这方面做得更好。

随着Gnome3之后的Gnome桌面更新,我发现的最显著的地方是KDE正在通过易于使用的设置来提供更加强大的功能。Gnome往往把特定于应用程序的设置放在一个容易找到的每个应用程序的地方。

但是KDE倾向于为应用程序提供更细粒度的控制。我最喜欢的例子之一是Kontact vs Evolution。它们分别是Gnome和KDE上很强大的个人信息管理软件。但不同的是,Kontact是一套附带为每个应用程序绑定一套控制的应用程序,而Evolution只是拥有有限控制的单个应用程序。在其它特定于桌面的应用中,AmaroK vs Rhythmbox 也是如此。

文件管理

当涉及到为你的桌面寻找合适的文件管理器时,Gnome和KDE提供的默认选择都能为你完成这项工作。Nautilus是Gnome的默认文件管理器,而KDE提供Dolphin 作为它的默认文件管理器。

除此之外,我发现Nautilus为Gnome用户提供一个光鲜的、易用的文件管理工具,不会使Linux的新用户们不知所措。然而,回到KDE上,对于那些想要深入控制的人,Dolphin是一个高度可配置的,而不是适合新手的文件管理方案。

如果简单地观察每个文件管理器的侧边栏,你会注意到Nautilus提供最直接的导航方式。但是,KDE的Dolphin在诸如上一次使用文件的日期和其它相关选项的特性上做得更好。

如果你是高级的Linux用户,你很可能发现自己被Dolphin吸引,因为它提供了最多的选择和控制。对于那些不想通过复杂的控制导航文件的人,Nautilus在简单性上更胜一筹。

桌面应用

经常在Linux爱好者中引发分歧的一个话题是,宣称某个桌面可以提供更好的默认应用。其实,这就是Gnome和KDE当前所处的情况。

我在这个方面的发现是:在一些方面,Gnome不费吹灰之力就能胜出。例如,GIMP、Evince和Pidegin相对它们在KDE上的同类来说更好用。而以我之见,Kmail则是另一种应用程序,它带给KDE的新用户们一个坏印象。像这类的应用过于复杂,并且在一般情况下,使用起来难以捉摸。

在另一方面,也有一些有价值的地方来支持KDE。Calligra 对比 AbiWord 对于KDE来说是轻松取胜的,因为LibreOffice 并不是一个“真正的”Gnome特有的应用。因为它是很多Linux发行版的默认套件,而不是桌面环境的默认选择。

最后,Linux最神奇的地方之一是你可以安装GTK或者Qt库,享受最符合你需求的应用程序带来的好处(译注:即使用另外一种桌面的应用)。对我自己,我发现在大部分情况下,Gnome的默认应用程序是明显的赢家。

结语

如果我发现自己被困在一座岛上,只有一种可用的桌面环境,那它必须是Gnome。虽然我喜欢KDE的某些方面胜过Gnome,但总体上我觉得Gnome可以花更少的功夫去持续使用。我常常发现使用KDE搞砸了一堆配置,甚至更糟糕,譬如奇怪的警告声称我的声卡找不到。在Gnome环境下,我从没有遇到这些问题。

因为我珍惜我的时间和理智,所以我会持续推荐使用Gnome而不是KDE;同时在适当的时候建议一些KDE应用。对于任何声称KDE更容易使用的人,我想说对于我而言,从长远来看简单地学习Gnome的做事方法给我带来了更大的稳定性。


via: http://www.datamation.com/open-source/kde-vs-gnome-settings-apps-widgets-1.html

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:KayGuoWhu 校对:wxy

问题: 我该如何在 Elemetary OS Luna 上安装Oracle Java 7?

回答: 在 Elementary OS Luna 安装 Java 7 的步骤如下: 由于Elementary OS是基于Ubuntu,所以我们允许使用具有多种Java包的WEPUD8 PPA

  1. 打开终端。
  2. 运行以下指令添加Java的PPA到你的软件仓:
$ sudo add-apt-repository ppa:webupd8team/java

You are about to add the following PPA to your system:
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK6 / JDK7 / JDK8). There are no actual Java files in this PPA. More info: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
Debian installation instructions: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
More info: https://launchpad.net/~webupd8team/+archive/java
Press [ENTER] to continue or ctrl-c to cancel adding it
  1. 按回车继续
gpg: keyring `/tmp/tmpB5WwDG/secring.gpg' created
gpg: keyring `/tmp/tmpB5WwDG/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpB5WwDG/trustdb.gpg: trustdb created
gpg: key EEA14886: public key "Launchpad VLC" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
  1. 现在更新你的系统
$ sudo apt-get update
  1. 运行以下命令安装Java 7:
$ sudo apt-get install oracle-java7-installer

[sudo] password for enock:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gir1.2-gstreamer-0.10 libilmbase6 libmagickcore4 libmagickwand4 libcdt4
libmagickcore4-extra liblqr-1-0 imagemagick-common libpathplan4 libopenexr6
rsync netpbm libgvc5 libnetpbm10 libgraph4
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
gsfonts-x11 java-common
Suggested packages:
default-jre equivs binfmt-support visualvm ttf-baekmuk ttf-unfonts
ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho
ttf-sazanami-mincho ttf-arphic-uming
The following NEW packages will be installed:
gsfonts-x11 java-common oracle-java7-installer
0 upgraded, 3 newly installed, 0 to remove and 196 not upgraded.
Need to get 88.5 kB of archives.
After this operation, 473 kB of additional disk space will be used.
Do you want to continue [Y/n]?
  1. 输入代表Yes的Y以及回车键继续安装。
  2. 在安装过程中,你需要同意条款才能继续。选择OK

  1. 然后选择Yes继续。

  1. 现在请等待安装包的下载与自动安装:

  1. 安装完成。你可以在终端上查看Java版本:
$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

via: http://www.unixmen.com/install-oracle-java-7-elementary-os-luna-via-ppa/

译者:whatever1992 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出