Windows sockets 获取 IP,wireshark 使用 - 图文(2)

2019-03-27 18:46

netstat -b 显示连接所涉及的程序:

从这里可以看到程序和连接间的关系。

二、windows Sockets 的使用:

1.使用Windows Sockets的API函数获得本机的IP地址

关键函数:gethostname()和gethostbyname(const char * name);

代码: /*

**copy right @ lenglei **

**Windows Sockets API 的基本调用步骤:

**1.调用WSAStartup(), 实现 Windows Sockets DLL的初始化 **2.使用 Windows Sockets API中的函数

**3.调用WSACleanup(),注销程序,释放资源

*/

#include #include #include #include

#pragma comment(lib,%using namespace std;

int main() {

WSADATA wsaData; char* hostName; struct in_addr addr;

//初始化windows Sockets

//WSAStartup调用成功返回0 if(0!=WSAStartup(MAKEWORD(2,2),&wsaData)){ cout<<\ return 1; }

//获取主机信息 char name[256]; hostent* remoteHost;

gethostname(name, sizeof(name)); remoteHost = gethostbyname(name); if (remoteHost != NULL){ int i = 0; while (remoteHost->h_addr_list[i] != 0){ addr.s_addr = *(u_long*)remoteHost->h_addr_list[i++]; cout << \ } }

//释放

WSACleanup();

system(\ return 0; }

2. 使用Windows Sockets的API函数获得给定域名的IP地址 关键函数:gethostbyname(const char * name); /*

**copy right @ lenglei **

**Windows Sockets API 的基本调用步骤:

**1.调用WSAStartup(), 实现 Windows Sockets DLL的初始化 **2.使用 Windows Sockets API中的函数

**3.调用WSACleanup(),注销程序,释放资源 */

#include #include #include #include

#pragma comment(lib,%using namespace std;

int main() {

WSADATA wsaData; char* hostName; struct in_addr addr;

//初始化windows Sockets

//WSAStartup调用成功返回0 if(0!=WSAStartup(MAKEWORD(2,2),&wsaData)){ cout<<\ return 1; }

//获取主机信息 string name;

hostent* remoteHost;

while (cin >> name){ remoteHost = gethostbyname(name.c_str()); if (remoteHost != NULL){ int i = 0; while (remoteHost->h_addr_list[i] != 0){ addr.s_addr = *(u_long*)remoteHost->h_addr_list[i++]; cout << \ } } }

//释放

WSACleanup();

system(\ return 0; }

实验结果:

【实验中出现问题及解决方法】

问题就是实验教材感觉有点过时,我用vs2013编的,里面有的东西用不了,不过我在微软官方论坛上找到了解决方案。

【思考问题】 个人感觉还是用python写网络程序比较方便,windows scokets 感觉好麻烦,不过c语言嘛,很底层的东西,效率很高啦 【实验体会】 实验比较有意思,对网络编程有了浓厚的兴趣,下一步打算更加深入的学习 成绩 优 良 中 及格 不及格 教师签名: 日期:


Windows sockets 获取 IP,wireshark 使用 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第十三章 表面化学习题解答

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: