论坛: 编程破解 标题: 如何抓取QQ的数据包 复制本贴地址    
作者: ejdm [ejdm]    论坛用户   登录
SOCKET my_Socket;     
sockaddr_in m_addr;  
int m_addrLen=sizeof(sockaddr_in); 
my_Socket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); 

m_addr.sin_family=AF_INET;  
m_addr.sin_port=htons(4000);  
m_addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
bind(m_Socket,(LPSOCKADDR)&m_addr,m_addrLen);
char m_s[1024];
int m_sLen=1024;
int m_flags=MSG_PEEK;
int m_SaddrLen=sizeof(sockaddr_in);  
sockaddr_in m_Saddr;   
recvfrom(my_Socket,m_s,m_sLen,m_flags,(LPSOCKADDR)&m_Saddr,&m_SaddrLen);
以上代码为什么不可以啊?请高手看看错在哪里呢?




地主 发表时间: 08/29 00:01

回复: 286 [unique]   版主   登录
QQ会把数据包自动发向腾讯的服务器。所以如果你这个程序运行在腾讯服务器上,是能收到的。但如果运行在自己的机器上,是收不到了。
把sock_dgram换成SOCK_RAW。就可以收到了。

B1层 发表时间: 08/29 12:11

回复: ejdm [ejdm]   论坛用户   登录
谢谢版的回答。
QQ不是在登陆的时候服务器上记录下IP,登陆后发消息给好友,应该是直接发到好友的机器上的,不应该通过QQ服务器的吧。

B2层 发表时间: 08/31 01:50

回复: 286 [unique]   版主   登录
对,是直接发给好友吧。那你的程序只能抓别人发给你的数据包。
你试试吧。QQ的原理我也没看过。

B3层 发表时间: 08/31 11:58

回复: ejdm [ejdm]   论坛用户   登录
我也就是要抓好友发给我的数据包,QQ发送的数据包应该是加密的。我想抓几个包,分析看看QQ发送的是怎样的数据格式,

B4层 发表时间: 08/31 13:50

回复: Anger [admini]   论坛用户   登录
你弄的这些字母是什么东东啊?我看不懂。说清楚点好么?

B5层 发表时间: 09/01 19:23

回复: ejdm [ejdm]   论坛用户   登录
什么字母看不懂啊,我只是想接收发给本机4000端口的消息啊1

B6层 发表时间: 09/01 22:33

回复: kert_t8 [kert_t8]   论坛用户   登录
qq数据包的格式我好像在20cn见过,很详细的,是老大贴出来的,找找吧

B7层 发表时间: 09/02 10:41

回复: wyf1051985 [wyf1051985]      登录
我感觉是你的SOCK设置的问题啊 好象是你自己的SOCK啊 

B8层 发表时间: 09/02 14:25

回复: ejdm [ejdm]   论坛用户   登录
什么叫是你自己的SOCK啊?大哥能说的具体一点吗?谢谢了。

B9层 发表时间: 09/03 15:10

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号