国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
怎么隱藏IP地址。

  • 一、前言 
      本文主要介紹如何在程序中實(shí)現(xiàn) IP 地址的隱藏。其實(shí)這篇東西不算我寫(xiě)的。其中《 IP 頭結(jié)構(gòu)》部分我懶得打字 ,故復(fù)制、粘貼了孤獨(dú)劍客的文章 ,先說(shuō)聲謝謝!代碼部分參考了外國(guó)程序 xes 寫(xiě)的一個(gè)程序。所以這只是學(xué)習(xí)過(guò)程中的一個(gè)副產(chǎn)品。既然程序已經(jīng)做好了 ,就順便放上來(lái)跟大家一起交流 ,共同提高吧。本文只不過(guò)想說(shuō)明一下 IP 數(shù)據(jù)的結(jié)構(gòu)和發(fā)送機(jī)制。如果有人把它改為惡意 IP 攻擊工具 ,后果自負(fù)。 

    二、 IP 頭結(jié)構(gòu) 
       我們知道 ,TCP/IP 網(wǎng)絡(luò)數(shù)據(jù)全部是通過(guò)封裝在 IP 數(shù)據(jù)包中在 Internet 網(wǎng)上傳送的 ,也就是封裝建立起一個(gè)包含 IP 頭和數(shù)據(jù)的 IP 數(shù)據(jù)報(bào)。一般來(lái)說(shuō) ,網(wǎng)絡(luò)軟件總是以多個(gè) 32 位字產(chǎn)生 IP 頭 ,即使必須用附加的 0 填充 IP 頭。 IP 頭包含了傳輸 IP 數(shù)據(jù)包中封裝數(shù)據(jù)的所有必要信息。 IP 頭的數(shù)據(jù)結(jié)構(gòu)和描述如下 :

    成員   長(zhǎng)度 (Bit)  描述 

    Version 4 IP 頭的版本號(hào) ,目前是 IPv4,最新是 IPv6
    Header Length 4 IP 頭的長(zhǎng)度 ,若沒(méi)有特殊選擇 ,IP 頭總是 20 字節(jié)長(zhǎng) 
    Type of Service 8  服務(wù)類型 ,定義了數(shù)據(jù)傳輸?shù)膬?yōu)先級(jí)、延遲、吞吐量和可靠性等特性 
    Total Packet Length 16 IP 包的長(zhǎng)度 ,若沒(méi)有特殊選項(xiàng) ,一般為 20 字節(jié)長(zhǎng) 
    Identification 16 IP 包標(biāo)識(shí) ,主機(jī)使用它唯一確定每個(gè)發(fā)送的數(shù)據(jù)報(bào) 
    Flag 3 IP 數(shù)據(jù)分割標(biāo)志 
    Fragment Offset 13 IP 數(shù)據(jù)分割偏移 
    Time to Live 8  數(shù)據(jù)報(bào)在網(wǎng)絡(luò)上的存活時(shí)間 ,每通過(guò)一個(gè)路由器 ,該數(shù)值減一 
    Protocol 8 TCP/IP 協(xié)議類型 ,比如 :ICMP 為 1,IGMP 為 2,TCP 為 6,UDP 為 17 等 
    Header Checksum 16  頭部檢驗(yàn)和 
    Source IP Address 32  源 IP 地址 
    Destination IP Address 32  目的 IP 地址 
    Other ?  其他選項(xiàng) 
    Data ?  數(shù)據(jù) 

       實(shí)現(xiàn)自己定義的 IP 頭是一件非常有意義的事情 ,比如 ,通過(guò)改變 IP 頭里的 TOS 的優(yōu)先級(jí)和 TTL,你可以使自己的數(shù)據(jù)包有更強(qiáng)的傳輸能力和壽命 ,通過(guò)修改 IP 頭里的源 IP 地址就可以隱藏自己機(jī)器的 IP 地址等等。象著名攻擊程序 " 淚滴 TearDrop" 就是通過(guò)故意制造系統(tǒng)不能處理的分片 IP 包而實(shí)現(xiàn)的 ,還有 SYN Flooder 和 UDP Flooder 就是通過(guò)產(chǎn)生隨機(jī)源 IP 實(shí)現(xiàn)欺騙的。 

    三、實(shí)現(xiàn)原理 

       一般來(lái)說(shuō) ,自定義 IP 頭是通過(guò)使用 socket 的庫(kù)函數(shù) setsockopt() 的選項(xiàng) IP_HDRINCL 來(lái)實(shí)現(xiàn)的 ,盡管這在 unix 和 linux 平臺(tái)上很容易實(shí)現(xiàn) ,但遺憾的是在 Windows 平臺(tái)的 Winsock1.1 和 Winsock2.0 函數(shù)庫(kù)里 setsockopt() 不支持 IP_HDRINCL 選項(xiàng) ,所以在 Windows 9x/NT 里是無(wú)法通過(guò) Winsock 函數(shù)庫(kù)來(lái)實(shí)現(xiàn) IP 頭自定義的 ,當(dāng)然可以通過(guò)編寫(xiě)虛擬設(shè)備驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn) ,不過(guò)比較復(fù)雜 ,但 Windows 2000 的出現(xiàn)打破了這種局面 ,Windows2000 的 Winsock2.2 函數(shù)庫(kù)里全面支持 setsockopt() 的選項(xiàng) IP_HDRINCL,使得我們輕松就可以實(shí)現(xiàn)自定義的 IP 頭。實(shí)現(xiàn)方法如下 :

    四、代碼部分 

    {
    1.  本程序只能運(yùn)行于  Window 2000.
    2.  你必須有  Administrator  權(quán)限 .
    3.  程序需要用到一個(gè)  button  和一個(gè)  memo.
    ----------------------------------------------------------------------
    運(yùn)行程序前 ,請(qǐng)根據(jù)自己的需要改變  SrcIP 、 SrcPort 、 DestIP 和 DestPort 的值 
    ----------------------------------------------------------------------
    如果你看不懂以下代碼 ,最好不要去運(yùn)行它。 
    ----------------------------------------------------------------------
    }

    unit Unit1;

    interface

    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls, OleCtrls, Registry;

    Const
    SrcIP = '123.123.123.1';// 發(fā)送方 IP 地址 
    SrcPort = 1234;         // 發(fā)送方端口 
    DestIP = '127.0.0.2';   // 目的 IP 地址 
    DestPort = 4321;        // 目的端口 
    Max_Message = 4068;
    Max_Packet = 4096;

    type
    TPacketBuffer = Array[0..Max_Packet-1] of byte;
    TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    procedure SendIt;
    end;

    // IP  頭 

    type

    T_IP_Header = record

    ip_verlen : Byte;

    ip_tos : Byte;

    ip_totallength : Word;

    ip_id : Word;

    ip_offset : Word;

    ip_ttl : Byte;

    ip_protocol : Byte;

    ip_checksum : Word;

    ip_srcaddr : LongWord;

    ip_destaddr : LongWord;

    end;


    // UDP  頭 

    Type

    T_UDP_Header = record

    src_portno : Word;

    dst_portno : Word;

    udp_length : Word;

    udp_checksum : Word;

    end;


    //  一些  Winsock 2  的類型聲明 

    u_char = Char;

    u_short = Word;

    u_int = Integer;

    u_long = Longint;


    SunB = packed record

    s_b1, s_b2, s_b3, s_b4: u_char;

    end;

    SunW = packed record

    s_w1, s_w2: u_short;

    end;

    in_addr = record

    case integer of

    0: (S_un_b: SunB);

    1: (S_un_w: SunW);

    2: (S_addr: u_long);

    end;

    TInAddr = in_addr;

    Sockaddr_in = record

    case Integer of

    0: (sin_family: u_short;

    sin_port: u_short;

    sin_addr: TInAddr;

    sin_zero: array[0..7] of Char);

    1: (sa_family: u_short;

    sa_data: array[0..13] of Char)

    end;

    TSockAddr = Sockaddr_in;

    TSocket = u_int;


    const

    WSADESCRIPTION_LEN = 256;

    WSASYS_STATUS_LEN = 128;


    type

    PWSAData = ^TWSAData;

    WSAData = record //  WSDATA

    wVersion: Word;

    wHighVersion: Word;

    szDescription: array[0..WSADESCRIPTION_LEN] of Char;

    szSystemStatus: array[0..WSASYS_STATUS_LEN] of Char;

    iMaxSockets: Word;

    iMaxUdpDg: Word;

    lpVendorInfo: PCha


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
獲取主機(jī)的IP信息
Socket編程指南及示例程序
TCP/IP各種包頭結(jié)構(gòu)
Windows環(huán)境下實(shí)現(xiàn)原始UDP數(shù)據(jù)包發(fā)送
IP報(bào)文頭結(jié)構(gòu)體
自己動(dòng)手編寫(xiě)嵌入式Bootloader之(2)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服