如何分析来自网卡的http请求报文!!!!!!
通过以下代码 我已经获得经过网卡的IP数据包,但是里面什么数据都有,乱七八糟的,我要想的数据只是
GET /extern_js/f/CgV6aC1DThICY24rMAo4QUACLCswDjgKLCswETgTLCswFjgULCswFzgELCswGDgELCswGTgNLCswJTjJiAEsKzAmOAgsKzAnOAIsKzA8OAAsKzBFOAAs/XkxgnxAb_mg.js HTTP/1.1
Accept: */*
Referer: http://www.google.cn/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; QQDownload 551; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Alexa Toolbar; GreenBrowser)
Host: www.google.cn
Connection: Keep-Alive
Cookie: PREF=ID=f1eb1c29a6e44c86:U=ddaa98aff4a1e832:NW=1:TM=1250064943:LM=1254303674:S=gaU3P8QCm6KkCuwO; NID=28=o0-Ml7k3eeoLjSPf0r6zo3xX9pIigKnBvlgKie-Wp25_26oGHJw0qzaOyNFXfx7-SBfoNJNAHo_QtMh40D8QEEuZP1xMUVSIMAXony3SKyTA3hxBGoV0d8Xzje5ku9IW
怎么从数据包中分析过滤出这样的内容呢??
UINT CPacketDlg::CapThread(LPVOID pParam)
{
CPacketDlg *this2;
SOCKET sock;
char RecvBuf[MAX_PACK_LEN] = {0};
IP *ip;
TCP *tcp;
this2=(CPacketDlg *)pParam;
while (true)
{
// 接收原始数据包信息
int ret = recv(this2->SnifferSocket, RecvBuf, sizeof(RecvBuf), 0);
if (ret > 0)
{
// 对数据包进行分析,并输出分析结果
ip = (IP*)RecvBuf;
if( ip->Protocol==6 )
{
tcp = (TCP*)(RecvBuf + ip->HdrLen);
}
}
}
return 0;
}