1. 程式人生 > >用winpcap實現區域網DNS欺騙之一(基礎知識)

用winpcap實現區域網DNS欺騙之一(基礎知識)

    歡迎大家和我交流Email:[email protected]

     學校網路中心的老師叫幫忙做一個DNS欺騙的軟體。主要用於在學校網路出現問題時把大家的上網請求都轉向到一個通知網頁上。關於DNS欺騙網上已經有很多文章了,不過例項還是比較少的,特別是使用我們經常使用的winpcap開發DNS欺騙軟體。弄了1周,終於成功了,在這裡和大家交流一下,不過這種軟體的危險性相當高(因為通過這種軟體,區域網的使用者基本上沒有安全性可言了。比如:我先開啟欺騙軟體把www.icbc.com.cn的訪問全部轉移到我的一個伺服器172.17.123.123上來,在這個伺服器上面放有一個看起來和工商銀行介面一摸一樣的網站,這非常容易做到,當您輸入帳號密碼的時候,我就記錄下了您的帳號和密碼,然後......)

基於以上原因,我在此宣告:我對我的程式碼不承擔任何責任所有程式碼只限於學習和正規使用目的。

    首先讓我們來看看什麼是DNS:以下是引用中國協議分析網裡面對DNS的說明

DNS的全稱是Domain Name System當您連上一個網址在URL打上www.hotmail.com的時候可以說就是使用了DNS的服務了。但如果您知道這個www.hotmail.com的IP地址直接輸入209.185.243.135也同樣可以到達這個網址。其實電腦使用的只是 IP地址而已(最終也是0和1啦)這個www.hotmail.com只是讓人們容易記憶而設的。因為我們人類對一些比較有意義的文字記憶(如 www.hotmail.com

)比記憶那些毫無頭緒的號碼(如209.185.243.135)往往容易得多。DNS的作用就是為我們在文字和IP之間擔當了翻譯而免除了強記號碼的痛苦。

接著是我使用的DNS欺騙原理

我們在設定我們的 網路時經常要設定DNS地址,比如現在我們學校使用的就是:202.102.154.3和202.102.128.68這兩個IP地址就是DNS解析伺服器的地址,當我們輸入一個網址如:www.whhit.com的時候,就有一個DNS請求發到設定的DNS伺服器上去,然後DNS伺服器告訴你你訪問的的網站對應的IP是202.102.144.56於是你的瀏覽器就會到相應的IP上面去取回網頁。那麼如果我想欺騙你,讓你轉到一個別的地址上去怎麼做呢?我只需要在DNS伺服器給你答覆之前給你一個假的回答就可以了,比如我告訴你

www.whhit.com對應的IP是172.17.30.52.123這樣你的機器就會自動轉到172.30.52.123上面去。那麼不是DNS伺服器也要做回答嗎?呵呵,這個其實你不用擔心,在收到第一個回答以後就瀏覽器就開始轉向了,對於後到的DNS回答會被系統自動丟棄掉。

基於以上原理,我們就可以完成這個工程了。

現在唯一的問題就是如何來偽造一個DNS應答了,由於要用winpcap發包,而winpcap的發包功能是很簡陋的,他不能像libnet等開發包一樣幫助你構造包,所以所有的包結構都要你來構造。請聽下回分解。

相關推薦

winpcap實現區域網DNS欺騙之一(基礎知識)

    歡迎大家和我交流Email:[email protected]      學校網路中心的老師叫幫忙做一個DNS欺騙的軟體。主要用於在學校網路出現問題時把大家的上網請求都轉向到一個通知網頁上。關於DNS欺騙網上已經有很多文章了,不過例項還是比較少的,特別是

pythontcp實現區域網內檔案傳輸(文字,圖片,視訊)

功能: 可以利用python建立的TCP客戶端從我們自己搭建的TCP伺服器上下載檔案. 實現需求: 安裝socket模組 簡單瞭解sokcet模組用法 伺服器程式碼如下: import socket def file_deal(file_name):     # 定義

樹莓派dnsmasq搭建區域網dns伺服器

本文基於系統raspbian-stretch。首先安裝:aptitude install -y dnsmasqdnsmasq的配置檔案是/etc/dnsmasq.conf。我們先備份dnsmasq.conf:cd /etc sudo mv dnsmasq.conf dnsma

Kali實現區域網ARP欺騙和ARP攻擊

所謂ARP攻擊,就是偽造IP和MAC地址進行的攻擊或者欺騙,但是在我看來,ARP攻擊和ARP欺騙應該是兩個概念,ARP攻擊所產生的效果就是使目標主機(當然這裡預設的是區域網,倘若你處在外網,涉及到內網滲透,以後在具體說內網滲透)斷網,這種行為從某種意義上來說是,是損人不利

kettle系列之一 基礎知識

簡介 pentaho-kettle是一款開源的ETL工具,官方名稱是Pentaho Data Integration,主要是用來做資料庫遷移等,支援面很強大,易學難精。 支援在windows和linux下使用,但是linux下不一定有圖形介面,本來作為伺服器一般都不會有圖

實現網路通訊的一些基礎知識(計算機聯絡java)

網路分層:      TCP/IP的網路分層模型       應用層                                :HTTP協議/FTP(檔案傳輸協議)/SMTP(郵件傳輸協議)/POP3(郵件接收協議)..........................

Python 系列之一基礎知識(一篇文章掌握基礎知識

概述近期在學習機器學習,機器學習中一般都推薦使用python 語言。使用python 語言,在資料處理方面相對於java 等其他語言來說,更加方便易容,python 可以引入第三方的庫,加以資料處理,比如處理矩陣等高等數學以及資料結構,還十分方便的進行程式資料的展示。本文中,

UE4 VR區域網(一)基礎知識

Actor的Role和RemoteRole屬性 Role:網路中扮演的角色型別 RemoteRole:遠端連線的作用型別 Role_Authority: 權威 Role_SimulatedProx

bettercap實現內網Dns欺騙

con 解析 alt family span dash 協議 auto blank   目的   讓內網的所有計算機瀏覽網頁的時候, 出現我的釣魚頁面   準備   kali系統   Bettercap   dns文件   通過ifconfig查看當前計算機的i

php 實現一個視圖組件和模板引擎——基礎

view content 如何實現 目前 內容 復用 tty 結構 有效 只要不是做後端接口開發和一些作為守護進程之類的服務器腳本,大多數時候都是在和瀏覽器打交道,因此合理組織並展現 html 標簽是最為常見的工作。一般大家使用框架時,都會自帶有一套視圖組件和模板引擎。

基於Winpcap實現ARP欺騙

事件起因 某小夥伴太熱衷於瀏覽新聞看網頁,常常忘了自己手中的事情,於是做了這個小程式挑逗了一下 實現過程 ARP欺騙有分為2個方向,欺騙閘道器與欺騙被挑逗者,核心為偽造ARP Reply報文,更新目標主機的ARP快取表,我這裡選擇了攻擊被挑逗者,偽造閘道器向被攻擊者發生

機器學習學習筆記之一——python實現簡單一元函式、二元函式的梯度下降

  今天開始正正經經,好好的寫機器學習的筆記。   再一次從頭翻過來學機器學習,在有一些python和大學數學的基礎下,首先要搞的果然還是梯度下降,本篇記錄的是用jupyter完成的一次作業:python實現一維陣列和二維陣列的梯度下降,目的只在於熟悉梯度下降。 第一部分

彙編基礎練習題15:編寫子程式,把以‘$’結尾的字串輸出顯示(有無入口引數?需要迴圈實現)。

彙編基礎練習題15: 編寫子程式,把以‘$’結尾的字串輸出顯示(有無入口引數?需要用迴圈實現)。 編譯工具:Masm for Windows 整合實驗環境2012.5 (附帶一個工具下載地址https://download.csdn.net/download/qq_36931762/

Android中Https通訊實現_中間人攻擊、DNS欺騙和會話劫持

上一篇文章記述了在Android中使用Https進行單向認證的配置,但單向認證存在中嚴重的安全漏洞,其中最容易受到中間人攻擊和DNS欺騙以及會話劫持,本文主要講述進行中間人攻擊、DNS欺騙和會話劫持的方式。 概覽 什麼是中間人攻擊 模擬中間人攻擊

ARP欺騙原始碼(基於WinPcap實現

//ArpCheat.h #ifndef MY_ARP_CHEAT_INCLUDE_H #define MY_ARP_CHEAT_INCLUDE_H //位元組對齊必須是1 #pragma pack (1) struct ethernet_head { u

Linux-C基礎知識學習:C語言作業-switch語句實現——成績分等級,90+:優 80~89良上,70~79良,60~69及格,

Linux基礎知識學習 C語言作業: 用switch語句實現——成績分等級,90+:優 80~89良上,70~79良,60~69及格,<60不及格 #include <stdio.

ettercap無線區域網DNS欺騙例項

筆記一:ettercap是什麼? 我們在對WEB安全檢測的時候都會用到Cain和netfuke這兩款工具,功能相信用過的朋友多多少少都知道,但這兩款工具是在windows下執行的。 而ettercap是在linux下執行的 。其實功能都是差不多的,我稱呼它為嗅探工具,ARP欺騙,DNS,劫持,中間人攻擊等等

【C#】-區域網Socket實現通訊

前言 聽起區域網下聊天是不是很難,很高大上的樣子,怎麼樣讓兩臺電腦,在同一區域網下實現聊天呢,先說一下思路吧,一會直接上程式碼。 1. 首先我們先要建立一個伺服器,也就是說兩臺電腦有一臺要當著伺服器,供客戶端連結。 2.

設計模式之一:簡單工廠模式,python實現簡易計算器

最近自學Python,想做些小專案練練手,發現程傑寫的大話設計模式這書不錯,適合新手入門。開始這本書第一章學習,這裡實現簡單工廠模式。以實現圖形介面的簡易計算器為例項,能夠計算+-/*% ( )等混合表示式,ps: 沒有實現負數的功能。具體過程大致分為以下幾個步

WinPcap權威指南(四):UDP與DNS欺騙

       上一節介紹了ARP協議之後,群裡面有朋友說ARP欺騙不是很簡單麼?實際上,實現ARP欺騙是很簡單的,難點在於資料轉發的速度。2004年我們做隔山打牛的時候,曾經去過一家網咖測試,剛開始是開了ARP欺騙幾分鐘就大量主機掉線,客人罵聲一片(幸好是朋友的網咖,