现在几乎每个跟网络有关的软件都提供“代理设置”了,只要简单设置一下就可以把真实的IP隐藏起来,取而代之的是代理IP。现在就说说隐藏真实IP的具体方法。
一、IP头结构 我们知道 成员 长度(Bit) Version 4 Header Len Type of Se Total Pack Identifica Flag 3 IP数 Fragment O Time to Li Protocol 8 Header Che Source IP Destinatio Other ? 其他 Data ? 数据 实现自己 二、实现原理 一般来说 三、代码部分 { 1. 本程序只能运行 2. 你必须有 Ad 3. 程序需要用到一 ———- 运行程序前,请根据自 ———- 如果你看不懂以下代码 ———- } unit Unit1 interface uses Windows, M StdCtrls, Const SrcIP = ’1 SrcPort = DestIP = ’ DestPort = Max_Messag Max_Packet type TPacketBuf TForm1 = c Button1: T Memo1: TMe procedure private { Private public { Public d procedure end; // IP 头 type T_IP_Heade ip_verlen ip_tos : B ip_totalle ip_id : Wo ip_offset ip_ttl : B ip_protoco ip_checksu ip_srcaddr ip_destadd end; // UDP 头 Type T_UDP_Head src_portno dst_portno udp_length udp_checks end; // 一些 Wins u_char = C u_short = u_int = In u_long = L SunB = pac s_b1, s_b2 end; SunW = pac s_w1, s_w2 end; in_addr = case integ 0: (S_un_b 1: (S_un_w 2: (S_addr end; TInAddr = Sockaddr_i case Integ 0: (sin_fa sin_port: sin_addr: sin_zero: 1: (sa_fam sa_data: a end; TSockAddr TSocket = const WSADESCRIP WSASYS_STA type PWSAData = WSAData = wVersion: wHighVersi szDescript szSystemSt iMaxSocket iMaxUdpDg: lpVendorIn end; TWSAData = //定义一些 win function c function s function s tolen: Int function s optlen: In function i function h function W function W function W const AF_INET = IP_HDRINCL SOCK_RAW = IPPROTO_IP IPPROTO_TC IPPROTO_UD IPPROTO_RA INVALID_SO SOCKET_ERR var Form1: TFo implementa // Import const WinS function c function s function s function s function i function h function W function W function W {$R *.DFM} function C type TWordArray var ChkSum : L i : Intege begin ChkSum := i := 0; While Size ChkSum := inc(i); Size := Si end; if Size=1 ChkSum := ChkSum := Result := end; procedure FromIP : S iFromPort ToIP : Str iToPort : StrMessage Var Buf : Var remote Var iTotal ); Var dwFromIP : dwToIP : L iIPVersion iIPSize : ipHdr : T_ udpHdr : T iUdpSize : iUdpChecks cksum : Wo Ptr : ^Byt procedure begin ptr := poi end; begin // Convert dwFromIP : dwToIP := // 初始化 IP // iTotalSize iIPVersion iIPSize := ipHdr.ip_v ipHdr.ip_t ipHdr.ip_t ipHdr.ip_i ipHdr.ip_o ipHdr.ip_t ipHdr.ip_p ipHdr.ip_c ipHdr.ip_s ipHdr.ip_d // // 初始化 UDP // iUdpSize : udpHdr.src udpHdr.dst udpHdr.udp udpHdr.udp iUdpChecks ptr := @bu FillChar(B Move(ipHdr IncPtr(Siz iUdpChecks Move(ipHdr IncPtr(Siz iUdpChecks IncPtr(1); Inc(iUdpCh Move(ipHdr IncPtr(siz iUdpChecks Move(udpHd IncPtr(siz iUdpChecks move(udpHd IncPtr(siz iUdpChecks Move(StrMe IncPtr(Len iUdpChecks cksum := c udpHdr.udp // // 现在 IP 和 // FillChar(B Ptr := @Bu Move(ipHdr Move(udpHd Move(StrMe remote.sin remote.sin remote.sin end; procedure Var sh : TSock bOpt : Int ret : Inte Buf : TPac Remote : T Local : TS iTotalSize wsdata : T begin // Startup ret := WSA if ret<>0 memo1.line exit; end; with memo1 add(’WSA S add(’Desc. add(’Statu end; try // Create sh := Sock if (sh = I memo1.line exit; end; Memo1.line // Option: bOpt := 1; ret := Set if ret = S Memo1.line exit; end; // Build t BuildHeade DestIP, De ’THIS IS A Buf, Remot // Send th ret := Sen if ret = S Memo1.Line else Memo1.Line // Close s CloseSocke finally // Close W WSACleanup end; end; procedure begin SendIt; end; end. 四,安装诺顿删除数据 对付最有效的“数据包 五,通过拨号上网,每 还有各种各样的刷票软 总之,实现刷票的方法 |