root@xuegod53:~# arping 192.168.1.1 -c 1 #-c 参数表示发送的次数,我们只需要 1 次即可
arping -c 1 192.168.1.1 | grep "bytes from" | cut -d" " -f 5 | cut -d"(" -f 2 | cut -d")" -f 1 192.168.1.1
详解如下:
arping -c 1 192.168.1.1 | # 使用arping发送1个ARP请求到192.168.1.1
grep "bytes from" | # 过滤输出,只保留包含“bytes from”的行
cut -d" " -f 5 | # 提取第5个字段(通常是MAC地址)
cut -d"(" -f 2 | # 提取第二个字段(去掉前面的部分)
cut -d")" -f 1 # 提取第一个字段(得到MAC地址)
root@xuegod53:~# vim arping1.sh
插入如下内容
#!/bin/bash
# 指定脚本使用bash解释器
if [ "$#" -ne 1 ]; then
# 判断用户是否输入了至少一个参数
# 如果没有输入参数,输出提示信息并退出
echo "Usage - ./arping.sh [interface]"
echo "Example - ./arping.sh eth0"
echo "Example will perform an ARP scan of the local subnet to which eth0 is assigned"
exit
fi
interface=\$1
# 将用户输入的参数传递给 interface 变量
prefix=$(ifconfig $interface | grep "inet " | cut -d ' ' -f 2 | cut -d '.' -f 1-3)
# 获取指定网络接口的本机 IP 地址网段
# 使用 ifconfig 命令,grep筛选出包含“inet”的行,然后提取IP地址的前3个部分(如192.168.1)
# 对整个网段进行 arping
for addr in $(seq 1 254); do
# 使用seq生成1到254的数字,对每个地址执行arping
arping -c 1 $prefix.$addr |
# 发送1个ARP请求到每个地址
grep "bytes from" |
# 过滤输出,只保留包含“bytes from”的行
cut -d" " -f 5 |
# 提取第5个字段(通常是MAC地址)
cut -d"(" -f 2 |
# 提取第二个字段(去掉前面的部分)
cut -d")" -f 1
# 提取第一个字段(得到MAC地址)
done
root@xuegod53:~# chmod +x arping1.sh
再开一台 centos 虚拟机 xuegod63,把 IP 地址改成 192.168.1.1
[root@xuegod63 ~]# ifconfig ens33 192.168.1.1
root@xuegod53:~# ./arping1.sh eth0 #查看局域网中是否存在 arp 攻击
主动模式顾名思义就是主动的探测发现网络内主机,但是这种方式往往会引起网络管理员的注意
root@xuegod53:~# netdiscover -i eth0 -r 192.168.1.0/24
参数详解说明:
-i device:您的网络设备
-r range:扫描给定范围而不是自动扫描。192.168.6.0/24. / 16./8
被动模式的方法更加隐蔽,但是速度会比较慢,网卡被设置为混杂模式来侦听网络内的 arp 数据包进行被动式探测,这种方式就需要网络内设备发送 arp 包才能被探测到。
oot@xuegod53:~# netdiscover -p
参数详解说明:
-p被动模式:不发送任何东西,只嗅探
先测试网站正常访问
root@xuegod53:~# ping http://www.xuegod.cn/
对 xuegod.cn 进行压力测试
root@xuegod53:~#hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source xuegod.cn
参数详解说明:
-c 1000 = 发送的数据包的数量。
-d 120 = 发送到目标机器的每个数据包的大小。单位是字节
-S = 只发送 SYN 数据包。
-w 64 = TCP 窗口大小。
-p 80 = 目的地端口(80 是 WEB 端口)。你在这里可以使用任何端口。
--flood = 尽可能快地发送数据包,不需要考虑显示入站回复。洪水攻击模式。
--rand-source = 使用随机性的源头 IP 地址。这里的伪造的 IP 地址,只是在局域中伪造。通过路由器后,还会还原成真实的 IP 地址。
发现再次刷新网页发现已经打不开了。
Ctrl+c 停止后即可访问网站。
root@xuegod53:~# fping -g 192.168.1.0/24 -c 1 > fping.txt
参数详解说明:
-g 表示对地址段进行扫描如果不加可以对某个 IP 进行扫描
-c 表示 ping 的次数
>fping.txt 表示将扫描的结果重定向到 fping.txt ,原因是如果扫描一个网段的话输出结果是非常
多的,我们输出重定向到文件中只会获得存活的主机信息。
root@xuegod53:~# cat fping.txt
root@xuegod53:~# nmap -sn 192.168.1.0/24
或
root@xuegod53:~# nmap -sn 192.168.1.1-254
参数说明:
-sn表示只 ping 扫描,不进行端口扫描
nmap 扫描类型主要有 TCP 的全连接扫描(会在被扫描机器留下记录),半连接扫描(不会留下记录)
root@xuegod53:~# nmap -sS 101.200.128.35 -p 80,81,21,25,110,443
参数详解说明:
sS 表示使用 SYN 进行半连接扫描
root@xuegod53:~# nc -nv -w 1 -z 192.168.1.1 1-100
(UNKNOWN) [192.168.1.1] 80 (http) open
(UNKNOWN) [192.168.1.1] 23 (telnet) : Connection timed out
(UNKNOWN) [192.168.1.1] 21 (ftp) open
参数详解说明:
-nv 表示我们扫描的目标是个 IP 地址不做域名解析
-w 表示超时时间
-z 表示进行端口扫描