青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-9  評論-6  文章-5  trackbacks-0
包已經發出,但是偽造IP,無法實現3次握手,在服務器端,包將被丟棄。繼續研究。

//?stdafx.h?:?標準系統包含文件的包含文件,
//?或是經常使用但不常更改的
//?特定于項目的包含文件
//

#pragma?once

#include?
"targetver.h"

#include?
<stdio.h>
#include?
<tchar.h>
#include?
<iostream>?

using?namespace?std;

typedef?unsigned?
short?USHORT;
typedef?unsigned?
char?UCHAR;

#define?URG?0x20?
#define?ACK?0x10?
#define?PSH?0x08?
#define?RST?0x04?
#define?SYN?0x02?
#define?FIN?0x01?

typedef?
struct?ip_hdr?//定義IP首部?
{?
????unsigned?
char?h_verlen;?//4位首部長度,4位IP版本號?
????unsigned?char?tos;?//8位服務類型TOS?
????unsigned?short?total_len;?//16位總長度(字節)?
????unsigned?short?ident;?//16位標識?
????unsigned?short?frag_and_flags;?//3位標志位?
????unsigned?char?ttl;?//8位生存時間?TTL?
????unsigned?char?proto;?//8位協議?(TCP,?UDP?或其他)?
????unsigned?short?checksum;?//16位IP首部校驗和?
????unsigned?int?sourceIP;?//32位源IP地址?
????unsigned?int?destIP;?//32位目的IP地址?
}IPHEADER;?

typedef?
struct?tsd_hdr?//定義TCP偽首部?
{?
????unsigned?
long?saddr;?//源地址?
????unsigned?long?daddr;?//目的地址?
????char?mbz;?
????
char?ptcl;?//協議類型?
????unsigned?short?tcpl;?//TCP長度?
}PSDHEADER;?

typedef?
struct?tcp_hdr?//定義TCP首部?
{?
????USHORT?th_sport;?
//16位源端口?
????USHORT?th_dport;?//16位目的端口?
????unsigned?int?th_seq;?//32位序列號?
????unsigned?int?th_ack;?//32位確認號?
????unsigned?char?th_lenres;?//4位首部長度/6位保留字?
????unsigned?char?th_flag;?//6位標志位?
????USHORT?th_win;?//16位窗口大小?
????USHORT?th_sum;?//16位校驗和?
????USHORT?th_urp;?//16位緊急數據偏移量?
}TCPHEADER;?





//?TODO:?在此處引用程序需要的其他頭文件

#include?"StdAfx.h"
#include?
"HttpWeb.h"

#include?
<winsock2.h>?
#include?
<ws2tcpip.h>?
#pragma?comment(lib,
"ws2_32.lib")??
#define?winsock_version?0x0101

//CheckSum:計算校驗和的子函數?
USHORT?HttpWeb::checksum(USHORT?*buffer,?int?size)?
{?
????unsigned?
long?cksum=0;?
????
while(size?>1)?
????{?
????????cksum?
+=?*buffer++;?
????????size?
-=?sizeof(USHORT);?
????}?
????
if(size)?
????{?
????????cksum?
+=?*(UCHAR*)buffer;?
????}?

????cksum?
=?(cksum?>>?16)?+?(cksum?&?0xffff);?
????cksum?
+=?(cksum?>>16);?
????
return?(USHORT)(~cksum);?
};

HttpWeb::HttpWeb(
void)
{
}

HttpWeb::
~HttpWeb(void)
{
}

void?UseAge()
{
????printf(
"********************************************************************\n");?
????printf(
"Vote?For?yeshj\n");?
????printf(
"\t?Written?by?yurow\n");?
????printf(
"\t?Email:?yurow@163.com\n");?
????printf(
"\t?Blog:?birdshover.cnblogs.com\n");?
????printf(
"Useage:?sniffer?ip?to?vote\n");?
????printf(
"********************************************************************\n");?
}

bool?HttpWeb::Post(char?host[],?char?path[],?char?parms[],int?port)
{
????UseAge();

????WSADATA?WSAData;?
????SOCKET?sock;
????SOCKADDR_IN?addr_in;?
????IPHEADER?ipHeader;?
????TCPHEADER?tcpHeader;?
????PSDHEADER?psdHeader;?

????
char?szSendBuf[4000]?=?{0};?
????BOOL?flag;
????
int?rect,nTimeOver;?
????
if?(WSAStartup(MAKEWORD(2,2),?&WSAData)!=0)?
????{
????????printf(
"WSAStartup?Error!\n");?
????????
return?false;?
????}

????
if?((sock?=?WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_FLAG_OVERLAPPED))?==?INVALID_SOCKET)?
????{
????????printf(
"Socket?Setup?Error!\n");?
????????
return?false;?
????}

????flag
=true;?
????
if?(setsockopt(sock,IPPROTO_IP,?IP_HDRINCL,(char?*)&flag,sizeof(flag))?==?SOCKET_ERROR)?
????{?
????????printf(
"setsockopt?IP_HDRINCL?error!\n");?
????????
return?false;?
????}?

????nTimeOver
=1000;?
????
if?(setsockopt(sock,?SOL_SOCKET,?SO_SNDTIMEO,?(char*)&nTimeOver,?sizeof(nTimeOver))?==?SOCKET_ERROR)?
????{?
????????printf(
"setsockopt?SO_SNDTIMEO?error!\n");?
????????
return?false;?
????}?

????
char?requestString[4000]?=?{0};
????
if(strlen(parms)?>?0)
????????strcat(requestString,
"POST?");
????
else
????????strcat(requestString,
"GET?");
????strcat(requestString,path);
????strcat(requestString,
"?HTTP/1.1\r\n");
????strcat(requestString,
"Host:?");
????strcat(requestString,host);
????strcat(requestString,
"\r\nAccept:?*/*\r\n");
????strcat(requestString,
"Accept-Language:?zh-cn\r\n");
????strcat(requestString,
"User-Agent:?Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.2;?Trident/4.0;)\r\n");
????strcat(requestString,
"Accept-Encoding:?gzip,?deflate\r\n");
????strcat(requestString,
"Connection:?Keep-Alive\r\n");
????
????
if(strlen(parms)?>?0){
????????strcat(requestString,
"Content-Type:?application/x-www-form-urlencoded\r\n");
????????strcat(requestString,
"Content-Length:?");
????????
char?*?p?=?new?char[4];
????????itoa(strlen(parms),p,
10);???
????????strcat(requestString,p);
????????strcat(requestString,
"\r\n\r\n");
????????strcat(requestString,parms);
????????strcat(requestString,
"\r\n\r\n");
????}
????cout?
<<?requestString;

????
int?postDataLength?=?strlen(requestString);
????LPHOSTENT?lphostent?
=?gethostbyname(host);
????
????
????addr_in.sin_family?
=?AF_INET;?
????addr_in.sin_port?
=?htons(port);?
????
//addr_in.sin_addr=?*((LPIN_ADDR)*lphostent->h_addr_list);?
????addr_in.sin_addr?=?*(in_addr?*)lphostent->h_addr_list[0];?
????
//填充IP首部?
????ipHeader.h_verlen=(?4<<4?|?sizeof(ipHeader)/sizeof(unsigned?long));?
????
//ipHeader.tos=0;?
????ipHeader.total_len?=?htons(sizeof(ipHeader)?+?sizeof(tcpHeader));?
????ipHeader.ident
=1;?
????ipHeader.frag_and_flags
=0;?
????ipHeader.ttl?
=?128;?
????ipHeader.proto?
=?IPPROTO_TCP;?
????ipHeader.checksum?
=?0;?
????ipHeader.sourceIP?
=?inet_addr("192.168.19.1");?
????ipHeader.destIP?
=?addr_in.sin_addr.S_un.S_addr;

????
//填充TCP首部?
????tcpHeader.th_dport?=?htons(port);??//目標端口
????tcpHeader.th_sport=htons(4000);?//源端口號?
????tcpHeader.th_seq?=?htonl(0x12345678);?
????tcpHeader.th_ack
=0;?
????tcpHeader.th_lenres?
=?(sizeof(tcpHeader)?/?4?<<4|?0);?
????tcpHeader.th_flag?
=?2;?//修改這里來實現不同的標志位探測,2是SYN,1是FIN,16是ACK探測?等等?
????tcpHeader.th_win=?htons(512);?
????tcpHeader.th_urp
=0;?
????tcpHeader.th_sum
=0;?

????psdHeader.saddr?
=?ipHeader.sourceIP;?
????psdHeader.daddr?
=?ipHeader.destIP;?
????psdHeader.mbz?
=?0;?
????psdHeader.ptcl?
=?IPPROTO_TCP;?
????psdHeader.tcpl?
=?htons(sizeof(tcpHeader));?


????
//計算校驗和?
????memcpy(szSendBuf,?&psdHeader,?sizeof(psdHeader));?
????memcpy(szSendBuf
+sizeof(psdHeader),?&tcpHeader,?sizeof(tcpHeader));?
????tcpHeader.th_sum
=checksum((USHORT?*)szSendBuf,sizeof(psdHeader)+sizeof(tcpHeader));?

????memcpy(szSendBuf,?
&ipHeader,?sizeof(ipHeader));?
????memcpy(szSendBuf
+sizeof(ipHeader),?&tcpHeader,?sizeof(tcpHeader));?
????memset(szSendBuf
+sizeof(ipHeader)+sizeof(tcpHeader),?0,?4);?
????ipHeader.checksum
=checksum((USHORT?*)szSendBuf,?sizeof(ipHeader)+sizeof(tcpHeader));?

????memcpy(szSendBuf,?
&ipHeader,?sizeof(ipHeader));?

????memcpy(szSendBuf?
+?sizeof(ipHeader)+sizeof(tcpHeader),requestString,postDataLength);

????cout?
<<?szSendBuf?<<?endl;

????rect
=sendto(sock,?szSendBuf,?sizeof(ipHeader)+sizeof(tcpHeader)?+?postDataLength,?0,?(struct?sockaddr*)&addr_in,?sizeof(addr_in));?
????
????cout?
<<?rect?<<?"\t"?<<?sizeof(ipHeader)?+?sizeof(tcpHeader)?+?postDataLength?<<?endl;
????
????
if?(rect?==?SOCKET_ERROR?||?rect?>?10000L)?
????{?
????????printf(
"send?error!:%d\n",WSAGetLastError());?
????????
return?false;?
????}?
????
else?
????????printf(
"send?ok!\n");?

????closesocket(sock);?
????WSACleanup();?

????
return?false;
}

posted on 2008-11-10 16:43 BirdsHover 閱讀(3295) 評論(2)  編輯 收藏 引用

評論:
# re: Raw Socket 之HTTP,效果不理想 2008-11-12 17:27 | smildlzj@hotmail.com
我以前也試過,如果在同一個局域網就可以.
通過mac地址,從鏈路層驗證的  回復  更多評論
  
# re: Raw Socket 之HTTP,效果不理想 2008-11-22 13:43 | lxsd@21cn.com
我也剛弄了個,是用C#,想模擬正常HTTP連接。
TCPFlags設為0x2,用EndReceive接收服務器返回的正確握手信息,但在客戶端在調用BeginReceive再次偵聽后,向服務器端回發了一個flags為0x4的復位包。如此,后續進程無法進行。暈了好幾天了。  回復  更多評論
  

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            乱人伦精品视频在线观看| 欧美亚洲三区| 亚洲大胆女人| 亚洲午夜性刺激影院| 亚洲第一视频| 欧美成人黑人xx视频免费观看| 欧美精品不卡| 亚洲香蕉在线观看| 亚洲中字在线| 国产日本精品| 洋洋av久久久久久久一区| 亚洲嫩草精品久久| 久久一区激情| 午夜电影亚洲| 欧美电影在线观看| 欧美一区2区三区4区公司二百| 国产精品二区三区四区| 牛牛影视久久网| 国产欧美日韩三级| 亚洲一区在线免费| 国产精品a久久久久久| 午夜一区在线| 一区二区三区 在线观看视| 久久久www| 欧美在线黄色| 亚洲嫩草精品久久| 9l视频自拍蝌蚪9l视频成人| 国产精品毛片在线看| 欧美日韩在线播放| 一本久久综合亚洲鲁鲁五月天| 欧美大尺度在线观看| 久久久91精品| 久久综合一区二区| 久久久免费av| 欧美一区深夜视频| 国产精品视频自拍| 欧美极品aⅴ影院| 欧美日韩八区| 亚洲视频在线观看三级| 亚洲系列中文字幕| 欧美激情一区| 久久青草欧美一区二区三区| 国产日本欧美一区二区三区在线| 日韩一级不卡| 夜夜嗨一区二区三区| 欧美日韩国产一中文字不卡| 91久久香蕉国产日韩欧美9色| 蜜桃av一区| 欧美精品二区| 亚洲在线一区二区| 欧美一区二区在线看| 极品日韩av| 欧美黄色免费| 国产精品无码永久免费888| 亚洲自拍偷拍一区| 欧美影院成年免费版| 亚洲国产清纯| 亚洲欧美区自拍先锋| 在线日韩欧美视频| 亚洲手机成人高清视频| 国产性色一区二区| 亚洲精品一区中文| 国产婷婷成人久久av免费高清| 老巨人导航500精品| 欧美午夜视频网站| 欧美高清视频| 国产日韩欧美亚洲一区| 欧美激情综合| 伊人男人综合视频网| 亚洲视频图片小说| aa成人免费视频| 蜜臀av一级做a爰片久久| 国产精品国产三级国产普通话三级 | 久久精品亚洲热| 亚洲欧洲日产国产网站| 欧美一区二区免费观在线| 亚洲一区二区欧美日韩| 久久久久久九九九九| 小嫩嫩精品导航| 欧美日韩一区在线观看视频| 久久精品国产欧美激情| 欧美天堂亚洲电影院在线观看| 亚洲第一中文字幕| 影音先锋亚洲一区| 亚洲欧美精品| 麻豆精品视频在线观看视频| 国产综合久久久久久| 欧美一区二区日韩| 鲁鲁狠狠狠7777一区二区| 在线日韩av片| 欧美日韩三级电影在线| 亚洲少妇中出一区| 久久精品亚洲国产奇米99| 国产综合久久久久影院| 女女同性精品视频| 亚洲精品自在在线观看| 在线亚洲美日韩| 国产美女搞久久| 欧美影院久久久| 蜜桃av综合| 亚洲一区二区三区四区在线观看 | 久久久久国产免费免费| 国产精品h在线观看| 欧美一二区视频| 欧美激情一区二区三级高清视频| 亚洲风情在线资源站| 欧美日韩三级一区二区| 羞羞色国产精品| 亚洲人午夜精品| 久久午夜精品一区二区| 夜夜狂射影院欧美极品| 国产香蕉97碰碰久久人人| 欧美区二区三区| 免费h精品视频在线播放| 亚洲免费影院| 日韩午夜三级在线| 亚洲精品视频在线| 亚洲激情综合| 亚洲激情综合| 亚洲国产日韩欧美综合久久| 中文在线资源观看视频网站免费不卡| 欧美一区二区在线视频| 欧美视频在线不卡| 另类亚洲自拍| 麻豆精品视频在线观看| 性做久久久久久免费观看欧美| 夜夜嗨av一区二区三区中文字幕| 亚洲日本aⅴ片在线观看香蕉| 免费亚洲电影| 亚洲日本免费电影| 亚洲一区二区久久| 久久精品国产亚洲一区二区| 久久久国产午夜精品| 另类人畜视频在线| 国产精品九色蝌蚪自拍| 国产一区二区剧情av在线| 黄色成人在线网址| 亚洲三级免费| 亚洲欧美色婷婷| 亚洲电影免费| 亚洲自拍偷拍色片视频| 久久躁狠狠躁夜夜爽| 久久久久综合| 亚洲欧洲日韩女同| 午夜精品区一区二区三| 男人的天堂成人在线| 国产精品美女999| 日韩午夜激情| 欧美黄色日本| 久久久伊人欧美| 国产视频在线观看一区二区| 亚洲精品国产精品乱码不99按摩 | 久久亚洲精品中文字幕冲田杏梨| 亚洲综合另类| 欧美成人dvd在线视频| 亚洲欧美国产三级| 欧美视频二区| 亚洲视频碰碰| 日韩午夜在线播放| 欧美女主播在线| 亚洲毛片网站| 亚洲美女在线国产| 欧美韩国日本一区| 亚洲美女在线国产| 亚洲国产精品成人综合| 美女国产一区| 一区二区三区三区在线| 亚洲日韩欧美视频一区| 欧美国产专区| 亚洲欧美另类国产| 亚洲免费影视| 亚洲大片免费看| 亚洲精品视频免费观看| 国产精品第2页| 免费短视频成人日韩| 欧美成人午夜激情| 亚洲视频在线免费观看| 亚洲女同同性videoxma| 精品成人一区二区三区四区| 亚洲高清视频一区| 国产精品欧美日韩一区| 国产精品久久久久久久久久ktv| 久久大逼视频| 中文欧美在线视频| 久久精品视频在线播放| 99pao成人国产永久免费视频| 99精品欧美一区| 136国产福利精品导航| 亚洲日本成人| 亚洲国产精品成人| 亚洲图片你懂的| 欧美影院视频| 午夜在线视频一区二区区别| 中国成人亚色综合网站| 国产一区二区三区免费不卡| 91久久午夜| 亚洲精品一区中文| 欧美福利视频一区| 欧美在线影院在线视频| 欧美色区777第一页|