Windows sockets 获取 IP,wireshark 使用 - 图文
更新时间:2024-06-21 22:50:01 阅读量: 综合文库 文档下载
- windows10推荐度:
- 相关推荐
网络编程技术实验报告 实验名称 Zuozhe 实验一 网络编程基础训练 Lenglei 实验日期 12/12/2014 实验报告要求: 1.实验目的 2.实验要求 3.实验环境 4.实验作业 5.问题及解决 6.思考问题 7.实验体会 【实验目的】 掌握Wireshark的基本用法,掌握netstat的基本用法,能够使用这些工具对网络应用程序的传输过程进行捕获、观察和状态分析;了解Windows Sockets API的基本函数功能,掌握Windows Sockets的编程环境配置,掌握网络程序设计的基本过程。 【实验要求】 1、下载安装Wireshark,熟悉捕获、查看、过滤、查找等基本方法,对用户飞秋文件传输、文字聊天等行为进行网络通信过程分析。 2、熟悉netstat命令,查看用户使用网络应用程序过程中对系统网络状态的改变。 3、使用Windows Sockets的API函数获得本机的IP地址。 4、使用Windows Sockets的API函数获得给定域名的IP地址。 【实验环境】 Wireshark 【实验作业】 1.安装wireshark: 2.捕获:
3.查看 4.过滤 >> 在filter里输入protocol的类型,如tcp、ip、arp………… >> 这里我输入tcp,过滤后可以看到这样的:
5.飞秋通信分析: 飞秋通信过程: 1.当我在输入时,但还未发送,飞秋会自动向对方发送一个长度为111的包,只要我没发送这个信息,他机会一直发送这个包,估计这个包的作用是让对方确认我方准备给对方发数据, 2.当我方点击发送后,我方会先给对方发一个长度为116的包,这个应该是告知对方已经将数据包发过来了。
然后是一个长度为111的包,
紧接着,对方会回复我一个长度为374的包,估计这个包的作用是对方在向我说明自己已经准备好接收我发的包了。
然后就是我发的包的过程,
然后对方回复我,表示接受到数据:
具体流程如下图:
6.nestat的使用: 1)netstat命令如下: 根据命令行的命令的提示: Netstat –a 显示所有连接和可侦听的端口
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
#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
#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 使用 - 图文06-21
结晶学基础第八章习题11-15
集团月份党建及意识形态工作总结报告范文08-04
大自然的语言教案10-05
消防工程招标文件 - p206-17
弱电施工图线缆代号08-07
我国互联网保险发展中存在的问题及对策研究 - 基于风险管理视角11-09
观看电影《英雄儿女》心得体会范文五篇03-23
妇幼保健员工作总结(精选多篇)03-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- wireshark
- 获取
- Windows
- sockets
- 图文
- 使用
- IP