2022年网络编程获取本机IP地址和指定域名IP地址借鉴 .pdf

上传人:H****o 文档编号:39894745 上传时间:2022-09-08 格式:PDF 页数:9 大小:1.24MB
返回 下载 相关 举报
2022年网络编程获取本机IP地址和指定域名IP地址借鉴 .pdf_第1页
第1页 / 共9页
2022年网络编程获取本机IP地址和指定域名IP地址借鉴 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年网络编程获取本机IP地址和指定域名IP地址借鉴 .pdf》由会员分享,可在线阅读,更多相关《2022年网络编程获取本机IP地址和指定域名IP地址借鉴 .pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、网络编程技术实验报告实验名称实验一网络编程基础训练实验报告要求:1.实验目的 2.实验要求 3.实验环境 4.实验作业 5.问题及解决6.思考问题 7.实验体会【实验目的】掌握 Wireshark 的基本用法,掌握netstat的基本用法,能够使用这些工具对网络应用程序的传输过程进行捕获、观察和状态分析;了解Windows Sockets API 的基本函数功能,掌握 Windows Sockets 的编程环境配置,掌握网络程序设计的基本过程。【实验要求】1、下载安装 Wireshark,熟悉捕获、查看、过滤、查找等基本方法,对用户飞秋文件传输、文字聊天等行为进行网络通信过程分析。2、熟悉 n

2、etstat命令,查看用户使用网络应用程序过程中对系统网络状态的改变。3、使用 Windows Sockets 的 API 函数获得本机的 IP 地址。4、使用 Windows Sockets 的 API 函数获得给定域名的IP 地址。【实验环境】1.飞秋数据包的捕获用Wireshark;2.Windows8自带命令提示符;3.VS 2012 编写程序。【实验作业】NO.1:飞秋文件传输、文字聊天等行为分析1.数据包捕获:2.飞秋文件传输、文字聊天的网络通信过程分析:1)通过广播方式,查询局域网内所有主机的MAC地址,采用ARP协议,解析目标IP 地址为 10.104.113.130的主机:名

3、师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -2)IP 地址为 10.104.113.130的主机回应请求,告知本机的MAC 地址从而无连接的通信建立了。传输层协议为UDP。3)IP 地址为 10.104.113.130的主机给请求端发送数据(首部为 8 字节;数据部分 72 字节):名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -以太网层使用的是MAC 地址网络层传输用的鉴别机制为IP 地址。NO.2:netstat命令测试系统网络状态的改变名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 9 页 -netstat命令:a)显示所有

4、连接和侦听的端口:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -b)应用程序对系统网络状态的改变:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -NO.3:利用 Windows Socket 的 API 函数获取本机 IP 和指定域名的 IP 地址:利用 C#网络编程提供的API,完成获取本机IP 地址和指定域名IP 地址的任务。代码及执行情况,见 Src 文件和 exe 文件。using System;using System.Collections.Generic;using System.Text;using System.Net;usi

5、ng System.Net.Sockets;using System.Runtime.InteropServices;namespace WindowsSocket_1 class Program static void Main(string args)Console.WriteLine(请输入要查询域名);string dnsName=Console.ReadLine();IsNetConnecting netconnect=new IsNetConnecting();bool NetConnect=netconnect.IsConnected();Program winsocket=ne

6、w Program();if(NetConnect=true)名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -string localIP=winsocket.GetHostIP();Console.WriteLine(本机 IP 地址:+localIP);winsocket.Resolve(dnsName);for(int i=0;i winsocket.IPLength;i+)Console.WriteLine(对 应 域 名 的IP地 址 +(i+1)+为:+winsocket.m_arrayIPsi);else Console.WriteLine(当前网络连接不

7、可用。无法获取本机IP 地址和指定域名的IP 地址);Console.Read();#region 获取主机IP 地址public string GetHostIP()string strHostName=Dns.GetHostName();/获取本地计算机名称Console.WriteLine(本地计算机名:+strHostName);/由本地计算机名称获取本机 IP 地址IPHostEntry ipEntry=Dns.GetHostEntry(strHostName);return ipEntry.AddressList2.ToString();/返回本机 IP 地址Console.Rea

8、dKey();#endregion#region 获取已知域名的IP 地址IPAddress m_arrayIPs;public void Resolve(string s_host)IPHostEntry ip=Dns.GetHostByName(s_host);m_arrayIPs=ip.AddressList;public IPAddress thisint nIndex get return m_arrayIPsnIndex;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -public int IPLength get return m_arrayIPs.Len

9、gth;#endregion public class IsNetConnecting#region 判断网络连接DllImport(wininet.dll)private extern static bool InternetGetConnectedState(out int connectionDescription,int reservedValue);public bool IsConnected()int I=0;bool state=InternetGetConnectedState(out I,0);return state;#endregion 【实验中出现问题及解决方法】i.

10、在完成指定域名的IP 获取时,有些域名能得到多个IP 地址,刚开始以为是个Bug,经过上网查了些资料才知道,有些域名是挂载在多个服务器上的,因而对应多个IP 地址。ii.当没有网络时,本机就没有互联网IP 地址,也无法去获取对应域名的IP 地址。因而我进行了网络连接的判断,无网络连接时直接弹出提示。【思考问题】i.利用 Windows Socket 的 API 函数可以获得多个地址,(例如:127.0.0.1);但是只有一个是互联网的IP 地址,因而对获得的IP 地址做了简单筛选。ii.无网络连接时,也可以得到所谓IP 地址(127.0.0.1)显然这个并不是真实的IP 地址,应该是以本机为服务器所分配的IP 地址。iii.飞秋的网络通信过程为:为得到要发起会话的IP 地址对应的主机的MAC 地址,通过广播方式,将在局域网内部发送请求。当与之IP 地址对应的主机会将本机的MAC地址回应给请求方。从而建立无连接的通信。这种方式是比较不安全的,因而在这请求过程中,是以广播方式完成的,因而可能会遭受IP 欺骗,进行通信。而且采用UDP传输协议,缺乏必要的加密机制,因此是不安全的。成绩优良中及格不及格名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com