资源简介
《HACK编程实例精讲》教材的Word电子版,好不容易才从网上搜集到的。
代码片段和文件信息
#include
#include
#define MAXBUFLEN 20480
#define HTTPADDLEN 50
#define TIMEWAIT 2000
#pragma comment(lib“ws2_32.lib“)
SOCKET Global[1000];
DWORD WINAPI Proxy( LPVOID pSocket);
int ParseHttpRequest(char * SourceBufint DataLenvoid * ServerAddr);
int main(int argcchar * argv[])
{
SOCKET MainSocketClientSocket;
struct sockaddr_in HostClient;
WSADATA WsaData;
int AddLeni;
//初始化
if(WSAStartup(MAKEWORD(22)&WsaData) < 0)
{
printf(“初始化失败\n“);
return 1;
}
//创建socket端口
MainSocket = socket(AF_INETSOCK_STREAMIPPROTO_TCP);
if(MainSocket == SOCKET_ERROR)
{
printf(“端口创建错误\n“);
return 1;
}
Host.sin_family = AF_INET;
Host.sin_port = htons(8080);
Host.sin_addr.s_addr = inet_addr(“127.0.0.1“);
printf(“正在工作\n“);
//绑定socket
if(bind(MainSocket(SOCKADDR *)&Hostsizeof(Host)) != 0)
{
printf(“绑定错误\n“);
}
i = 0;
//监听
if(listen(MainSocket5) == SOCKET_ERROR)
{
printf(“监听错误\n“);
}
AddLen = sizeof(Client);
//连接新的客户
i = 0;
for(;;)
{
ClientSocket = accept(MainSocket(SOCKADDR *)&Client&AddLen);
if(ClientSocket == SOCKET_ERROR)
{
printf(“接受客户请求错误!\n“);
}
printf(“.“);
i ++ ;
if( i >= 1000)
i = 0;
Global[i] = ClientSocket;
//对于每一个客户启动不同的线程程进行控制
//这个地方在使用ClientSocket的时候,要不要保证在某一时刻内只能有一个进程使用?
CreateThread(NULL0Proxy(LPVOID)Global[i]0NULL);
}
return 0;
}
DWORD WINAPI Proxy( LPVOID pSocket)
{
SOCKET ClientSocket;
char ReceiveBuf[MAXBUFLEN];
int DataLen;
struct sockaddr_in ServerAddr;
SOCKET ProxySocket;
int i = 0;
int time = TIMEWAIT;
//得到参数中的端口号信息
ClientSocket = (SOCKET)pSocket;
//接受第一次请求信息
memset(ReceiveBuf0MAXBUFLEN);
DataLen = recv(ClientSocketReceiveBufMAXBUFLEN0);
if(DataLen == SOCKET_ERROR)
{
printf(“错误\n“);
closesocket(ClientSocket);
return 0;
}
if(DataLen == 0)
{
closesocket(ClientSocket);
return 0;
}
//处理请求信息,分离出服务器地址
if( ParseHttpRequest(ReceiveBufDataLen(void *)&ServerAddr) < 0)
{
closesocket(ClientSocket);
goto error;
}
//创建新的socket用来和服务器进行连接
ProxySocket = socket(AF_INETSOCK_STREAMIPPROTO_TCP);
//设置超时时间
setsockopt(ProxySocketSOL_SOCKETSO_RCVTIMEO(char *)×izeof(time));
if(ProxySocket == SOCKET_ERROR)
{
printf(“端口创建错误\n“);
return 0;
}
if(connect(ProxySocket(SOCKADDR *)&ServerAddrsizeof(ServerAddr)) == SOCKET_ERROR)
{
//printf(“连接服务器错误“);
goto error;
}
//开始进行数据传输处理
//发送到服务器端
if(send(ProxySocketReceiveBufDataLen0) == SOCKET_ERROR)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 77 2008-10-14 08:46 HACK编程实例精讲\Desktop.ini
文件 5912 2004-11-13 23:22 HACK编程实例精讲\本书代码\实例收录\http代理原码.cpp
文件 5745 2003-08-17 15:21 HACK编程实例精讲\本书代码\实例收录\ICMP后门\client\icmpsend.cpp
文件 2007 2003-08-17 15:02 HACK编程实例精讲\本书代码\实例收录\ICMP后门\client\icmpsend.dsp
文件 541 2003-08-17 15:02 HACK编程实例精讲\本书代码\实例收录\ICMP后门\client\icmpsend.dsw
文件 41984 2003-08-17 15:21 HACK编程实例精讲\本书代码\实例收录\ICMP后门\client\icmpsend.ncb
文件 48640 2003-08-17 15:21 HACK编程实例精讲\本书代码\实例收录\ICMP后门\client\icmpsend.opt
文件 870 2003-08-17 15:21 HACK编程实例精讲\本书代码\实例收录\ICMP后门\client\icmpsend.plg
文件 19060 2003-08-17 15:23 HACK编程实例精讲\本书代码\实例收录\ICMP后门\server\icmpsrv.cpp
文件 1999 2003-08-17 15:05 HACK编程实例精讲\本书代码\实例收录\ICMP后门\server\icmpsrv.dsp
文件 539 2003-08-17 15:05 HACK编程实例精讲\本书代码\实例收录\ICMP后门\server\icmpsrv.dsw
文件 27648 2004-06-30 22:17 HACK编程实例精讲\本书代码\实例收录\ICMP后门\server\icmpsrv.ncb
文件 48640 2003-08-17 15:23 HACK编程实例精讲\本书代码\实例收录\ICMP后门\server\icmpsrv.opt
文件 862 2003-08-17 15:23 HACK编程实例精讲\本书代码\实例收录\ICMP后门\server\icmpsrv.plg
文件 1128 1999-09-29 00:13 HACK编程实例精讲\本书代码\实例收录\ICMP后门\server\StdAfx.h
文件 1567 2004-08-05 12:04 HACK编程实例精讲\本书代码\实例收录\winsock代码\client.cpp
文件 155710 2004-08-05 12:04 HACK编程实例精讲\本书代码\实例收录\winsock代码\Debug\client.exe
文件 155710 2004-08-05 12:01 HACK编程实例精讲\本书代码\实例收录\winsock代码\Debug\server.exe
文件 1774 2004-08-05 11:58 HACK编程实例精讲\本书代码\实例收录\winsock代码\server.cpp
文件 3657 2004-09-03 13:26 HACK编程实例精讲\本书代码\实例收录\一个简单嗅探软件的实现\sniff.cpp
文件 40960 2008-12-13 13:41 HACK编程实例精讲\本书代码\实例收录\一个简单嗅探软件的实现\sniff.exe
文件 5494 2004-08-27 15:15 HACK编程实例精讲\本书代码\实例收录\信息刺探工具\snmp.cpp
文件 40960 2008-12-13 13:41 HACK编程实例精讲\本书代码\实例收录\信息刺探工具\snmp.exe
文件 40960 2004-08-29 14:49 HACK编程实例精讲\本书代码\实例收录\多线程dos攻击程序\Release\synflood.exe
文件 6135 2004-08-27 00:16 HACK编程实例精讲\本书代码\实例收录\多线程dos攻击程序\synflood.cpp
文件 603 2004-08-18 23:00 HACK编程实例精讲\本书代码\实例收录\多线程例子.cpp
文件 1517 2004-08-16 12:12 HACK编程实例精讲\本书代码\实例收录\扫描器代码\单线程tcp扫描器\tcpscan.cpp
文件 3681 2004-08-26 12:59 HACK编程实例精讲\本书代码\实例收录\扫描器代码\多线程tcp扫描器\gscan.cpp
文件 36864 2004-08-21 18:20 HACK编程实例精讲\本书代码\实例收录\扫描器代码\多线程tcp扫描器\gscan.exe
文件 1479 2004-08-20 13:24 HACK编程实例精讲\本书代码\实例收录\扫描器代码\打造极速SYN扫描器代码\getallIP.cpp
............此处省略159个文件信息
相关资源
- IAR 8.2 新版激活工具
- 亲测可用Resin Pro 4.0.48破解文件
- UltraEdit破解版dll,通杀UE系列所有产品
- QuartusII6.0~12.0软件破解.rar
- PDF编辑器破解版无水印.rar
- Game-EC 6.X 破解版 完美破解去调试
- The Hacker Playbook 3: Practical Guide To Pene
- 瑜伽会员管理系统破解版
- FlashFXPv4.0.0汉化破解安装版.rar
- Total Commander v9.21a最新破解版
- 楼月微信聊天记录导出4.5破解版.7z
- Cisco交换机路由器 Type 7 密码破解器
- MiniVCap-v5.6.7真正最新完美破解版
- swapIDC源码破解官方限制
- 百度文库破解
- PN532破解IC卡稳定版.zip
- MyEclipse-2018最新版12.0破解文件 MAC 和
- Q II 10.0破解版
- 固乔视频助手V1.0绿色免费破解版
- project2013破解工具
- LabView2018 安装教程
- ArcGIS10.3.1中文版完整镜像安装破解教
- MyEclipse2018.8.0 破解工具
- MyEclipse 2018.12.0破解工具
- primer5完美破解版
- AddFlow5.4破解版
- EMU8086汉化破解安装包
- AD9KeyGen.zip
- TOMCAT破解器
- PowerTCP Telnet for .NET 4.4.5 破解去除试用
评论
共有 条评论