欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    VC++网络编程之实例篇.doc

    • 资源ID:70331288       资源大小:49.50KB        全文页数:8页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VC++网络编程之实例篇.doc

    一个简单的论坛灌水工具我在 了这样一个贴: 标题是:Re:啥时候下雪啊 回复内容是:下啊下啊 经过截取后,得到这样的数据包: POST /index.php?prog=topic:reply&tid=219030 HTTP/1.1.Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*.Referer: prog=topic:flat&tid=219030.Accept-Language: zh-cn.Content-Type: application/x-www-form- urlencoded.Accept-Encoding: gzip, deflate.User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1).Host: .Content-Length: 509.Connection: Keep-Alive.Cache- Control: no-cache.Cookie: CEFS=56a4967e3f0923cc0b9e361d2599290f. title=Re%3A%C9%B6%CA%B1%BA%F2%CF%C2%D1%A9%B0% A1&cetag=checked&autoParseURL=checked&smiles=checked&showsign=checked&domains= &q=Google+Site+Search&sitesearch=&client=pub- 9549696168596987&forid=1&channel=5833732144&ie=GB2312&oe=GB2312&cof=GALT%3A%23008000%3BGL% 3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC% 3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A1%3B&hl=zh- CN&content=%CF%C2%B0%A1%CF%C2%B0%A1&parentid=0不要给这个数据包吓倒,实际上我们关心的只有几个地方,我都用红字标出了。 tid=219030:表示你回帖的是那个主贴 Cookie: CEFS=56a4967e3f0923cc0b9e361d2599290f.: COOKIE的CEFS(它应该是标识一个特定COOKIE的32字节字符串),用户登陆BBS后会返回一个CEFS title=Re%3A%C9%B6%CA%B1%BA%F2%CF%C2%D1%A9%B0%: 回复帖子的标题,这里的%3A%C9%B6%CA%B1%BA%F2%CF%C2%D1%A9%B0%代表的就是Re:啥时候下雪啊 同理,content=%CF%C2%B0%A1%CF%C2%B0%A1&parentid=0也是代表发贴内容 在这个数据包中,tid,title,content,我们都可以根据自己的需要随意改,只有cookie不可以, COOKIE的CEFS是用户登陆论坛后一个特定的标识,在同个用户的连续发贴过程中,它是可以保持不变的, 关键在于我们如何获取这个CEFS,CEFS是用户在登陆论坛的时候,向服务器发送请求,服务器返回的一个 标识字符串,所以在登陆论坛时,我们就要把服务器返回的CEFS记录起来,然后填写到回帖的数据包里面 。 我模拟了一次登陆论坛,同时用WPE截取数据包,截取到这样的数据包: POST /index.php?prog=user:login HTTP/1.1.Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*.Referer: zh- cn.Content-Type: application/x-www-form-urlencoded.Accept-Encoding: gzip, deflate.User- Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1).Host: .Content- Length: 70.Connection: Keep-Alive.Cache-Control: no-cache.Cookie: ce_tjbbspassword=; ce_tjbbsuserid=.username=阿东&password=XXXXXXXXX &show=1&image.x=24&image.y=13 向服务器发送该数据包后,如果成功登陆,服务器返回数据包 HTTP/1.1 200 OK.Date: Thu, 09 Dec 2004 13:18:18 GMT.Server: Apache/1.3.29 (Unix) mod_jk/1.2.5 PHP/4.3.4.X-Powered-By: PHP/4.3.4.Set-Cookie: CEFS=4da4e5e68db9b4750441afcb818b2c0f; path=/.Expires: Thu, 19 Nov 1981 08:52:00 GMT.Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0.Pragma: no-cache.Content-Encoding: gzip.Keep-Alive: timeout=15, max=87.Connection: Keep- Alive.Transfer-Encoding: chunked.Content-Type: text/html.212.x.SAk.G.D.M.L<.".$.638.t.od.Y (h.PW.n.<.C.nve.7.Dx.B.0.>.t.'G.? <.d.#Z.d.$.到目前为止,关于数据包的东西已经基本足够你写一个灌水程序了 你只需要做的就是用SOCKET连接同济论坛服务器的HTTP端口,登陆,记录CEFS,利用该CEFS,每隔60秒向 该端口发送数据包n_n 以下为灌水程序的片断(经过一些修改): char hdrreg= "POST /index.php?prog=user:login HTTP/1.1rn" "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*rn" "Referer: "Accept-Language: zh-cnrn" "Content-Type: application/x-www-form-urlencodedrn" "Accept-Encoding: gzip, deflatern" "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; iOpus-I-M)rn" "Host: rn" "Content-Length: %drn" "Connection: Keep-Alivern" "Cache-Control: no_cachern" "Cookie: ce_tjbbsuserid; ce_tjbbspassword;rn" "rn" char regcontent="username=%s&password=%s&show=1&image.x=14&image.y=8" char hdrreply= "POST /index.php?prog=topic:reply&tid=%s HTTP/1.1rn" "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*rn" "Referer: "Accept-Language: zh-cnrn" "Content-Type: application/x-www-form-urlencodedrn" "Accept-Encoding: gzip, deflatern" "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; iOpus-I-M)rn" "Host: rn" "Content-Length: %drn" "Connection: Keep-Alivern" "Cache-Control: no_cachern" "Cookie: CEFS=%srn" "rn" char rlytitle= "title=%s&cetag=checked&autoParseURL=checked&smiles=checked&showsign=checked&content=% s&parentid=0" /登陆:  char buf_h1024;  char buf_c1024;  char *p;  char serverIP="61.129.64.163"  u_short serverPort=u_short(80);  destAddr = inet_addr(serverIP);  memcpy(&destSockAddr.sin_addr, &destAddr, sizeof(destAddr);  destSockAddr.sin_port = htons(serverPort);  destSockAddr.sin_family = AF_INET;  destSocket = socket(AF_INET, SOCK_STREAM, 0);  if (destSocket = INVALID_SOCKET)      /error    return false;      status = connect(destSocket, (LPSOCKADDR)&destSockAddr, sizeof(destSockAddr);    if (status = SOCKET_ERROR)        /error    return false;        wsprintf(buf_c,regcontent,"阿东","密码*");  wsprintf(buf_h,hdrreg,char(strlen(buf_c);  strcat(buf_h,buf_c);  strcat(buf_h,&charend);    numsnt = send(destSocket, buf_h, strlen(buf_h), 0);  if (numsnt != (int)strlen(buf_h)      /error    return false;      numrcv=recv(destSocket, buf_h,strlen(buf_h) , 0);  if (numrcv = 0) | (numrcv = SOCKET_ERROR)      /error    return false;    /省略部分代码    p=buf_h;  p+=144;    memcpy(cefs,p,4);  if(cefs0!='C')      /error    return false;        p=buf_h;  p+=149;  memcpy(cefs,p,32);    cefs32='post.content'/发贴  char buf_h1024;  char buf_c1024;  /.省略部分代码    char cbuf50;  char serverIP="61.129.64.163"  u_short serverPort=u_short(80);  int pid;  CString strpid;  while(1)      destAddr = inet_addr(serverIP);    memcpy(&destSockAddr.sin_addr, &destAddr, sizeof(destAddr);    destSockAddr.sin_port = htons(serverPort);    destSockAddr.sin_family = AF_INET;    destSocket = socket(AF_INET, SOCK_STREAM, 0);        if (destSocket = INVALID_SOCKET)          /error      return false;            status = connect(destSocket, (LPSOCKADDR)&destSockAddr, sizeof (destSockAddr);        if (status = SOCKET_ERROR)            /error      return false;          /    wsprintf(buf_c,rlytitle,"大家好","路过,再水一下,莫怪");    int  len=strlen(buf_c);    /随机产生要灌水的帖子PID    pid=rand()%1000;    strpid.Format("%d",218000+pid);    wsprintf(buf_h,hdrreply,strpid,strpid,unsigned char(len),cefs);    strcat(buf_h,buf_c);            /省略部分代码    numsnt = send(destSocket, buf_h, strlen(buf_h), 0);    if (numsnt != (int)strlen(buf_h)          /error      break;            numrcv=recv(destSocket, buf_h,strlen(buf_h) , 0);    if (numrcv = 0) | (numrcv = SOCKET_ERROR)          /error      break;            /省略部分代码    closesocket(destSocket);    for (int i=0;i<60;i+)          Sleep(1000);      if (WaitForSingleObject(hEnd,0)!=WAIT_TIMEOUT)              return 0;            

    注意事项

    本文(VC++网络编程之实例篇.doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开