• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

如何获得IP地址,如获得QQ中好友的IP地址,自己编程实现?

debugCheck 2002-05-16 11:15:44
如何获得IP地址,如获得QQ中好友的IP地址,自己编程实现?
一定加分(200)一定
...全文
231 点赞 收藏 19
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Crob 2002-05-28
apihook
回复
liyangyang 2002-05-28
关注!
回复
anjy 2002-05-28
gz
回复
marxixing 2002-05-28
你可以看一下我的程序:

环境:Visual C++ 5 SP1/2 WINDOW NT4或WINDOWS 95.

需求:#include<winsock2.h>

链接库:Wsock32.lib

详细代码:


{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
CString ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );

if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{

if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}

WSACleanup( );
}
}

回复
呵呵,讓大俠見笑了,LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 的改正我找到了(在這個論壇上)。具體方法:
打開 Project Settings 對話框,在 Link 屬性頁的 Project Options 裏找到: /subsystem:window 把它改成 /subsystem:console 就一切OK了。

程序是能夠運行,不過它不能截住QQ的包啊,呐悶!!望高手指點。
回复
TO:mrh123()

小弟試了您的程序,發現會出現如下的錯誤。即使我在Project -> Add To Project -> Files...中加入ws2_32.lib,還是照樣出錯。請指教,謝過先。

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
回复
littleid 2002-05-26
如果对方隐身了,是不是通话是通过服务器中转的,就不能查到对方的ip了。
回复
NowCan 2002-05-26
mxclxp,建立一个控制台程序就可以了。
回复
debugCheck 2002-05-26
是呀,我也发现有问题呀,请帮忙,谢谢了
回复
Q_O 2002-05-22
监听一下QQ端吕应该没有问题的。
回复
ljp3000 2002-05-21
mark this document.
回复
mrh123 2002-05-21
对于这个问题,我曾用socket写了一个监听QQ端口4000的程序,也能够摘取所接受到的UDP数据包的源IP地址,但是有点小问题,就是不能正常的继续接受和发送UDP数据包,有时根本就发不出去,造成超时重发的问题。至尽还没有改正。

你看看源码吧,
********************************************************************
#include<stdio.h>
#include<winsock2.h>

#pragma comment(lib,"ws2_32.lib")

void main()
{
WSADATA wsd;
SOCKET s;
struct sockaddr_in addr;
struct sockaddr_in toco;

if(WSAStartup(MAKEWORD(2,2),&wsd) != 0)
{
printf("wsastartup failed\n");
return;
}

s = socket(AF_INET,SOCK_DGRAM,0);
if( s == INVALID_SOCKET)
{
printf("socket error\n");
return;
}

BOOL time;
if(setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char*)&time,
sizeof(time)) != 0)
{
printf("setsockopt failed\n");
return;
}
addr.sin_family = AF_INET;
addr.sin_addr .s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(4000);
toco.sin_family = AF_INET;
if(bind(s,(struct sockaddr*)&addr,sizeof(addr)) != 0)
{
printf("bind error\n");
return;
}
int ntimeread = 0;
int nbytesread = 0;
char buf[1024];
char data[1024];
int i;
int len = sizeof(toco);
FILE* fp;
if((fp=fopen("qq.txt","w")) == NULL)
{
printf("can not open record file,qq.txt");
return;
}
fprintf(fp,"%s","start record\r\n");
fflush(fp);
//return;
while(1)
{
memset(buf,0,sizeof(buf));
i = recvfrom(s,buf,1024,0,
(struct sockaddr*)&toco,&len);
if( i == -1)
{
printf("recvfrom error\n");
return;
}
if(i == 0)
{
printf("nobytesread\n");
}
if(i > 0)
{
++ntimeread;
sprintf(data,"recvs ip: \t%s\t%d\r\n",inet_ntoa(toco.sin_addr ),ntohs(toco.sin_port ));
printf(data);
fprintf(fp,"recvs ip: \t%s\t%d\r\n",inet_ntoa(toco.sin_addr ),ntohs(toco.sin_port ));
fflush(fp);
nbytesread +=i;
sprintf(data,"%d\ttimes received\t%d bytes\r\n",ntimeread,nbytesread);
printf(data);
fprintf(fp,"%d\ttimes received\t%d bytes\r\n",ntimeread,nbytesread);
fflush(fp);
}
}
fclose(fp);
shutdown(s,0);
closesocket(s);
WSACleanup();
}
******************************************************************
回复
coffeefish 2002-05-21
你应该监听qq的端口,记录下余这个端口通讯的所有ip
我有所诉的资料
回复
debugCheck 2002-05-21
有没有原代码呀,
回复
r33d 2002-05-18
Windows2000下没你们说的那么复杂吧
http://shotgun.xici.net
回复
kingcy 2002-05-17

我曾经作过类似的
可以用wpcap动态连接库的函数开发
将网卡设置成混杂模式有截获数据包
分析ip数据包,将相应的数据转换成整形即可!
回复
debugCheck 2002-05-17
有没有例子呀
回复
liugy 2002-05-16
不编程的话可以用网络监听程序:sniffer
回复
jimconrad 2002-05-16
比较底层。
先截获数据包,然后分析该包的数据^
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-16 11:15
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……