Filed under: 网络相关

关于Winsock LSP、SPI、NSP、网游加速器那些事

        最近VPN都被封了,无法使用Google,只好自己动手,丰衣足食了。         一个是基于ifslsp的,支持TCP重定向:DeProxifier1.0         另外一个是基于nonifslsp的,支持TCP和UDP重定向:DeProxyCap1.0       &nb ...阅读更多

4 Comments 2017-08-16

Winsock异步转换域名到IP的一个需要注意的地方

        转换域名到IP是网络编程中使用的很频繁的功能,一般情况下gethostbyname即可,但这个函数是阻塞的,如果你的网络程序框架是基于异步的(例如消息socket、完成端口等),那么可能需要一个异步的函数。微软本身提供了一个异步的函数叫WSAAsyncGetHostByName,调用的时候,需要提供一个窗口的句柄和消息定义,当异步返回的时候,会触发该窗口的消息。问题在于,这个函数是顺序的。举个例子:你按顺序查询www.163.com、www.sina.com......,假如前面的163没有返回,实 ...阅读更多

4 Comments 2014-12-06

WinPcap权威指南(四):UDP与DNS欺骗

        上一节介绍了ARP协议之后,群里面有朋友说ARP欺骗不是很简单么?实际上,实现ARP欺骗是很简单的,难点在于数据转发的速度。2004年我们做隔山打牛的时候,曾经去过一家网吧测试,刚开始是开了ARP欺骗几分钟就大量主机掉线,客人骂声一片(幸好是朋友的网吧,否则估计会被老板丢出去)。当然,那时候网上还没有ARP欺骗的介绍,更加没有什么ARP防火墙,ARP欺骗的防范是几年后的事情了。后来我们改进了算法,经过实际测试,250台电脑,原来的ICMP速度是多少(ping),开启ARP欺骗后就是多少,没有任何延迟 ...阅读更多

6 Comments 2014-08-07

WinPcap权威指南(三):ARP协议

        ARP协议在局域网内使用的非常广泛,它的数据包类型分为请求包和答复包。Windows系统内部有一个缓冲区,保存了最近的ARP信息,可以在cmd下使用命令arp -a来显示目前的缓存,或者使用命令arp -d来清除该缓存(Win7下需要以管理员权限运行cmd)。         在局域网内,两台机器之间通信,实际上靠的是网卡的物理地址。比如说,本机的IP是192.168.1.80,现在想往另外一台IP为192.168.1. ...阅读更多

2 Comments 2014-08-04

WinPcap权威指南(二)

        上一节我们简单介绍了WinPcap的一些基础知识,同时也枚举到所有网卡的设备名称,现在我们就可以操作网卡了。WinPcap有一个结构叫TADAPTER,你可以把它想象为一个句柄,我们平时操作文件,一般是先打开/创建一个文件,如果成功,则返回一个句柄,然后读文件就可以使用ReadFile,写文件可以使用WriteFile,操作完毕后,CloseHandle关闭这个句柄,WinPcap下的操作也是类似的: 1、打开一个网卡,返回句柄:function PacketOpenAdapter(AdapterN ...阅读更多

发表评论 2014-08-03

WinPcap权威指南(一)

        WinPcap是一个开源的网络抓包模块,顾名思义,它只能工作在Windows下,但本文介绍的知识并不局限于任何操作系统和开发语言,因为网络协议本身是没有这些区别的。阅读本指南之前,请先下载WinPcap安装到自己的电脑上,目前WinPcap的最新版本是4.1.3,支持基于NT核心的所有操作系统(从NT4一直到Win8),读者可以从官方网站http://www.winpcap.org/install/default.htm下载。        ...阅读更多

发表评论 2014-08-03

Windows完成端口与猪肉佬

        首先应该说明的是,我也是第一次使用完成端口。虽然以前偶尔在网上看到完成端口的文章和代码,但真正自己动手写还是第一次,不过我这个人有个特点就是大胆,例如没有写那个界面编程系列前,其实我甚至不知道原来一个矩形的宽度Width原来就是Rect.Right-Rect.left。但现在网络信息那么发达,学习一个新东西,看看MSDN,再Google一下,还是可以冒充老手的。另外,本文仅仅讲完成端口在网络方面的应用。          ...阅读更多

6 Comments 2013-12-27

TCP程序设计系列(一)

很多Delphi的使用者依赖控件,比如说,Indy系列。也有很多使用Winsock API的,但是或多或少都有着一些小问题,这是因为对Winsock不了解造成的。 笔者几年前曾经设计过一个完整的TCP协议栈,其中协议栈是纯粹用Delphi写的,驱动部分则是用C挂接到网卡驱动前,鉴于最近“Carberp 木马源码”已经公开,所以打算提提这方面的东西。 我们的讲座将以WinpCap作为底层收发数据部分,应用层则使用Delphi。例如,我们熟悉的两个WinSock函数: function htons(hostshort: Word): Word; begin Result := ((hostshor ...阅读更多

13 Comments 2013-08-12


日历

2023年 9月
 123
45678910
11121314151617
18192021222324
252627282930  

归档

分类目录