Qt:Qt实现飞秋拦截助手—介绍
Qt實現飛秋攔截助手—介紹
前言
以前看見有人在Linux下面實現過飛秋消息攔截、修改和轉發功能,我呢 尋思在Windows平臺使用Qt編寫一個飛秋攔截工具,能夠對飛秋消息進行攔截 轉發,飛秋欺騙功能。當然別小瞧這個軟件,軟件雖小 五臟俱全。會用的Windows API ,WinPcap 庫,ARP協議、IP 協議、UDP協議,字節對齊 等知識,用Qt編寫當然大量會用到Qt的很多知識唄。我也是邊查資料邊寫的。最后寫的差不多 再開源出來哈。
本節將 介紹飛秋攔截助手 開發思路。
飛秋攔截助手開發思路
這還得從 網絡協議協議說起了。這里簡單介紹下,方便大家理解。我們知道TCP/IP 協議族有4層:網絡接口層,網絡層,傳輸層,應用層。
網絡接口層也就是網卡層,理論上 物理地址 是全世界唯一的,上層協議組包后都會 在網絡接口層將 目的mac地址添加上這樣就能找到 對方主機。這就是我們為什么先寫 Mac地址掃描器了,因為這樣我們才能 攔截 指定目標的 消息!
何為ARP欺騙,這里簡單說,這里有A B C 3臺主機,A和B通信,A 發送的消息 應該是發送給 B,A 本地有ARP緩存知道 B的 物理地址,也知道 B的IP地址(IP_B),這時 C 是攻擊者 不停的給A 發送ARP應答包 告訴A,我是IP_B 我的 物理地址是MAC_C,這時A就會更新ARP 緩存 MAC_C - IP_B對應起來,下次 發送給B消息是 將消息打包后 最后在網絡 接口層 將消息發送給 MAC_B,但實際上這時的物理地址 已經被替換為MAC_C了,所以消息最終會發送到 攻擊者C中! 因為網卡層 已經最底層的數據了,所以我們先寫mac地址掃描器。
經過第二步 ARP欺騙后,A 發送 給 B 的消息已經被 C攔截到了,此時C可以窺探 A與B的通信內容,為了不被發現,我們必須得轉發一份,這樣我們的目的就達到了。我們先分析下A 發送給 B的 數據包。
我們竊取到消息之后,將報文的目的地址改為MAC_B的,將消息轉發給B,這些我們就竊取到A和B的通信內容了。到這一步 就實現了 飛秋消息的 攔截 轉發 串改
這一步是干啥呢?在局域網中 有A B C 3個人,C是攻擊者,他想罵 B ,但是又不敢明說,所以他就 偽裝成為A 去罵 B,B就真以為是A罵的他,這就達到了 飛秋欺騙的目的。這是如何實現的呢?其實就是安裝 A發送 給B的消息 包,憑空組一個包 發送給B 這樣就達到欺騙的目的了。
總結
以上是生活随笔為你收集整理的Qt:Qt实现飞秋拦截助手—介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 弄明白python reduce 函数
- 下一篇: C/C++面试题—旋转数组的最小数字