|
![]() | 作者: 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号