最新实验8 使用Wireshark分析DNS协议
- 格式:doc
- 大小:227.00 KB
- 文档页数:6
实验一:网络协议分析工具Wireshark的使用一、实验目的学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。
二、实验原理和内容1、tcp/ip协议族中网络层传输层应用层相关重要协议原理2、网络协议分析工具Wireshark的工作原理和基本使用规则三、实验环境以及设备Pc机、双绞线四、实验步骤(操作方法及思考题)1.用Wireshark观察ARP协议以及ping命令的工作过程:(20分)(1)用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(2)用“arp”命令清空本机的缓存;(3)运行Wireshark,开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包(提示:在设置过滤规则时需要使用(1)中获得的本机的MAC地址);(4)执行命令:“ping 缺省路由器的IP地址”;写出(1),(2)中所执行的完整命令(包含命令行参数),(3)中需要设置的Wireshark的Capture Filter过滤规则,以及解释用Wireshark所观察到的执行(4)时网络上出现的现象。
(1)ipconfig/all(2)arp –d arp –a(3)ether host F0:4D:A2:24:84:D6 and(icmp or arp)(4)ping 192.168.32.254如上图,为所截得的包,包里1、2、11、12都是arp报文,先用arp –d命令清空ARP 缓存。
通过广播来找到目的主机的mac地址。
3~10个icmp包是ping命令下的4个request 和reply报文。
2.用Wireshark观察tracert命令的工作过程:(20分)(1)运行Wireshark, 开始捕获tracert命令中用到的消息;(2)执行“tracert -d ”根据Wireshark所观察到的现象思考并解释tracert的工作原理。
Tracert先发送TTL为1的回应数据包,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL 达到最大值,从而确定路由。
DNS协议分析实验DNS(Domain Name System)是互联网中负责域名解析的协议,通过将人类可读的域名转换为计算机可识别的IP地址,实现了互联网上不同计算机之间的通信。
在本实验中,我们将对DNS协议进行深入分析,了解其工作原理和数据包结构。
实验环境:在本实验中,我们将使用Wireshark作为数据包捕获工具,通过观察和分析DNS请求和响应数据包来了解DNS协议的工作原理。
实验所需的系统环境为Windows或Linux操作系统,需要安装最新版本的Wireshark软件。
实验步骤:1. 打开Wireshark软件,并选择要抓取数据包的网络接口。
2. 在过滤器中输入“dns”,以过滤出DNS协议相关的数据包。
3. 进行一系列的DNS请求和响应操作,如访问一个网站、ping一个域名等。
4. 观察Wireshark中捕获到的数据包,分析其中DNS请求和响应的数据结构。
5.获取一个真实的DNS数据包,对其进行深入分析,包括报头和数据部分的结构。
6.总结实验过程中获得的知识,对DNS协议的工作原理和数据包结构进行总结和分析。
实验结果:在实验过程中,我们可以清晰地观察到DNS请求和响应数据包的结构。
一个典型的DNS请求数据包包括报头和问题部分,而DNS响应数据包包括报头、问题部分、回答部分、授权部分和附加部分。
通过分析这些数据包,我们可以了解DNS协议是如何解析域名的,以及实现域名解析时所涉及的相关参数和信息。
在DNS请求数据包中,最重要的部分是问题部分,其中包含了要查询的域名和查询类型(A记录或AAAA记录)。
而在DNS响应数据包中,回答部分则包含了查询结果的IP地址信息,授权部分和附加部分则包含了其他相关的信息,如授权服务器和附加信息等。
通过分析实验中捕获到的真实数据包,我们可以更加深入地了解DNS协议的工作原理。
在DNS数据包的报头部分,包括了一些重要的字段信息,如标识符、查询/响应标志、授权回答标志等,这些信息对于解析数据包和理解DNS协议非常重要。
实验七利用分组嗅探器(Wireshark)分析协议HTTP和DNS一、实验目的1、分析HTTP协议2、分析DNS协议二、实验环境与因特网连接的计算机网络系统;主机操作系统为Windows;Wireshark、IE 等软件。
三、实验步骤1、HTTP GET/response交互首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。
(1)启动Web browser。
(2)启动Wireshark分组嗅探器。
在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
(3)一分钟以后,开始Wireshark分组俘获。
(4)在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件):/ethereal-labs/HTTP-ethereal-file1.html(5)停止分组俘获。
图1分组俘获窗口2、HTTP 条件GET/response交互(1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet选项”命令,在出现的对话框中,选择“删除文件”)。
(2)启动Wireshark分组俘获器。
开始Wireshark分组俘获。
(3)在浏览器的地址栏中输入以下URL:/ethereal-labs/HTTP-ethereal-file2.html 你的浏览器中将显示一个具有五行的非常简单的HTML文件。
(4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。
(5)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
3、获取长文件(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。
开始Wireshark分组俘获。
(3)在浏览器的地址栏中输入以下URL:/ethereal-labs/HTTP-ethereal-file3.html 浏览器将显示一个相当大的美国权力法案。
第1篇一、实验背景随着计算机网络技术的飞速发展,网络协议作为计算机网络通信的基础,扮演着至关重要的角色。
为了更好地理解网络协议的工作原理和功能,我们开展了主要协议分析实验。
本实验旨在通过分析常用网络协议的报文格式和工作机制,加深对网络协议的理解。
二、实验目的1. 熟悉常用网络协议的报文格式和工作机制。
2. 掌握网络协议分析工具的使用方法。
3. 培养网络故障排查和问题解决能力。
三、实验环境1. 实验设备:PC机、网线、Wireshark软件。
2. 实验网络:局域网环境,包括路由器、交换机、PC等设备。
四、实验内容本实验主要分析以下协议:1. IP协议2. TCP协议3. UDP协议4. HTTP协议5. FTP协议五、实验步骤1. IP协议分析(1)启动Wireshark软件,选择合适的抓包接口。
(2)观察并分析IP数据报的报文格式,包括版本、头部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、头部校验和、源IP地址、目的IP地址等字段。
(3)分析IP分片和重组过程,观察TTL值的变化。
2. TCP协议分析(1)观察TCP数据报的报文格式,包括源端口号、目的端口号、序号、确认号、数据偏移、标志、窗口、校验和、紧急指针等字段。
(2)分析TCP连接建立、数据传输、连接终止的过程。
(3)观察TCP的重传机制和流量控制机制。
3. UDP协议分析(1)观察UDP数据报的报文格式,包括源端口号、目的端口号、长度、校验和等字段。
(2)分析UDP的无连接特性,观察UDP报文的传输过程。
4. HTTP协议分析(1)观察HTTP请求报文和响应报文的格式,包括请求行、头部字段、实体等。
(2)分析HTTP协议的请求方法、状态码、缓存控制等特性。
(3)观察HTTPS协议的加密传输过程。
5. FTP协议分析(1)观察FTP数据报的报文格式,包括命令、响应等。
(2)分析FTP的文件传输过程,包括数据传输模式和端口映射。
竭诚为您提供优质文档/双击可除dns协议与抓包分析篇一:dns协议与抓包分析1.dns全称为domainnamesystem,中文为计算机域名系统,它是由解析器和域名服务器组成的,域名服务器是指保存有该网络中所有主机的域名和对应ip地址,并具有将域名转换为ip地址,并具有将域名转换为ip地址功能的服务器的服务器。
其中域名必须对应一个ip地址,而ip地址不一定有域名。
将域名映射为ip地址的过程就称为“域名解析”。
在internet上域名与ip地址之间是一对一(或者多对一)的,域名和ip地址之间的转换过程称为域名解析,域名解析需要由专门的域名解析服务器来完成,dns就是进行域名解析的服务器。
dns 命名用于internet等tcp/ip网络中,通过用户友好的名称查找计算机和服务。
域名的最终指向是ip2.dns解析过程(1)当客户机提出查询请求时,首先在本地计算机的缓存中查找,如果在本地无法查询信息,则将查询请求发给dns服务器(2)首先客户机将域名查询请求发送到本地dns服务器,当本地dns服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则进行此记录进行解析,如果没有区域信息可以满足查询要求,服务器在本地缓存中查找(3)如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名dns服务器(4)根域名服务器负责解析客户机请求的根域名部分,它将包含下一级域名信息的dns服务器地址地址返回给客户机的dns服务器地址(5)客户机的dns服务器利用根域名服务器解析的地址访问下一级dns服务器,得到再下一级域名的dns服务器地址(6)按照上述递归方法逐级接近查询目标,最后在有目标域名的dns服务器上找到相应ip地址信息(7)客户机的本地dns服务器将递归查询结构返回客户机(8)客户机利用从本地dns服务器查询得到的ip访问目标主机,就完成了一个解析过程(9)同时客户机本地dns服务器更新其缓存表,客户机也更新期缓存表,方便以后查询3.dns处于ip分层结构的应用层,是一种应用层协议,dns协议数据单元封装在udp数据报文中,dns服务器端使用公用端口号为53(使用udp协议0x11)4.dns协议报文结构:该报文是由12字节的首部和4个长度可变的字节组成标识字段:占用两个字节,由客户程序设置,并由服务器返回结果opcode:4bits字段,通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)aa:1bits标志表示授权回答(authoritiveanswer),该名字服务器是授权于该领域的tc:1bits字段,表示可截(truncated),使用udp时,它表示当应答的总长度超过512字节时,只返回前512个字节Rd:1bits字段,表示期望递归,该比特能在一个查询中设置,并在一个响应中返回,这个标志告诉名字服务器必须处理这个查询,也称为一个递归查询,如果该位为0,且被请求的名字服务器没有一个授权回答,它就返回一个能解答该查询的其他名字服务器列表,这称为迭代查询(期望递归)Ra:1bits字段,表示可用递归,如果名字服务器支持递归查询,则在响应中将该bit置为1(可用递归)zero:必须为0rcode:是一个4bit的返回码字段,通常值为0(没有差错)和3(名字差错),名字差错只有从一个授权名字服务器上返回,它表示在查询中指定的域名不存在随后的4个bit字段说明最后4个变长字段中包含的条目数,对于查询报文,问题数通常是1,其他三项为0,类似的,对于应答报文,回答数至少是1,剩余两项可以使0或非05.dns查询报文中每个查询问题的格式查询类:通常值为1,表示是互联网的地址,也就是ip 协议族的地址查询类型:有很多种查询类型,一般最常用的查询类型是a类型(表示查找域名对应的ip地址)和ptR类型(表示查找ip地址对应的域名)查询名为要查找的名字,它由一个或者多个标示符序列组成,每个标示符已首字符字节数的计数值来说明该表示符长度,每个名字以0结束,计数字节数必须是0~63之间,该字段无需填充字节,如:6.dns响应报文中的资源记录格式:域名:记录中资源数据对应的名字,它的格式和查询名字段格式相同类型:类型说明RR的类型码,类通常为1,指internet 数据生存时间:客户程序保存该资源记录的秒数资源数据长度:说明后面资源数据的数量,该数据的格式依赖于类型字段的值,对于类1(a记录)记录数据室4字节的ip地址资源数据:服务器端返回给客户端的记录数据7.数据包dns查询(dnsquery)8.数据包dns响应(dnsResponse)9.aRpa域的作用:10.根据in-arpa.arpa,我们可以根据ip地址解析对应的域名,在dns的服务器中,将要解析的点分十进制的ip地址反过来写,然后将该域名根在这个反写的ip地址的后面就形成了一个反向查询域,然后客户端就可以根据该ip地址来解析对应的域名了11.ddns(即所谓的动态dns)工作原理:(1)client端每次开机或者是重新拨号后,获取一个新的ip之后,会向dnsserver端提出ip和域名更新要求,希望server端变更域名与ip的对应关系(2)server端接受client端要求之后,会去查询client 提供的账号密码是否正确,正确之后会立即修改server本身对于你的主机名称的设定值12.篇二:利用wireshark分析dns协议实验七利用wireshark分析dns协议一、实验目的分析dns协议二、实验环境与因特网连接的计算机,操作系统为windows,安装有wireshark、ie等软件。
实验DNS 协议分析 实验步骤1.打开wireshark ,设置好过滤器。
2.在命令提示符后键入nslookup .wireshark 捕获dns 的数据包。
结果如下: 表示本地域名服务器的名字;219.229.240.19表示本地域名服务器的IP 地址 表示 的真实域名;119.75.217.56和119.75.218.45为百度的IP 地址;3.设置好过滤器后按enter 键,开始抓包.4. 分析wireshark捕获的数据包.分析前四帧:首先通过反向查询获得本地DNS 服务器的域名域名,其次通过正向查询获得查询域名的IP 地址:4.具体分析捕获的数据包的DNS 报文格式:第一帧是192.168.1.102发送给本地DNS 服务器219.229.240.19的反向查询取得报文,用于获得本地DNS 服务器的名字。
具体协议说明如下:前两帧:通过反向查询获得本地DNS 服务器的名字 后两帧:通过正向查询获得查询域名对应的IP 地址帧数应用层存活时间网络层递归请求版本,表示的是 IP 規格版本标头长度识别码封包总长 。
通常以 byte 做单位來表示该封包的总长度,此数值包括标头和数据的总和。
第二帧是本地DNS服务器返回的响应帧,包含查询结果,即本地DNS 服务器的名字:存活时间反向查询的域名,即查询结果权威DNS本地服务器的域名第三帧是客户端发过给本地DNS服务器的DNS请求报文,用于请求对应的IP 地址请求的资源记录RR第四帧是本地DNS服务器发给客户端的响应报文,包含了对应的真正的域名和IP地址.是对应的真正域名,也是的最初的名字对应的IP是119.75.217.56和119.75.218.45。
使用wireshark进行协议分析实验报告一、实验目的本次实验旨在掌握使用Wireshark进行网络协议分析的方法与技巧,了解网络通信特点和协议机制。
二、实验内容及步骤1.实验准备b.配置网络环境:保证实验环境中存在数据通信的网络设备和网络流量。
2.实验步骤a. 打开Wireshark软件:启动Wireshark软件并选择需要进行抓包的网络接口。
b. 开始抓包:点击“Start”按钮开始抓包,Wireshark将开始捕获网络流量。
c.进行通信:进行网络通信操作,触发网络流量的产生。
d. 停止抓包:点击“Stop”按钮停止抓包,Wireshark将停止捕获网络流量。
e. 分析流量:使用Wireshark提供的分析工具和功能对抓包所得的网络流量进行分析。
三、实验结果通过Wireshark软件捕获的网络流量,可以得到如下分析结果:1. 抓包结果统计:Wireshark会自动统计捕获到的数据包数量、每个协议的数量、数据包的总大小等信息,并显示在界面上。
2. 协议分析:Wireshark能够通过解析网络流量中的各种协议,展示协议的各个字段和值,并提供过滤、等功能。
3. 源和目的地IP地址:Wireshark能够提取并显示各个IP数据包中的源IP地址和目的地IP地址,帮助我们分析网络通信的端点。
四、实验分析通过对Wireshark捕获到的网络流量进行分析,我们可以得到以下几个重要的分析结果和结论:1.流量分布:根据抓包结果统计,我们可以分析不同协议的数据包数量和比例,了解网络中各个协议的使用情况。
2. 协议字段分析:Wireshark能够对数据包进行深度解析,我们可以查看各个协议字段的值,分析协议的工作机制和通信过程。
3.网络性能评估:通过分析网络流量中的延迟、丢包等指标,我们可以评估网络的性能,并找出网络故障和瓶颈问题。
4. 安全分析:Wireshark能够分析HTTP、FTP、SMTP等协议的请求和响应内容,帮助我们发现潜在的网络安全问题。
Wireshark抓包分析实验若惜年一、实验目的:1.学习安装使用wireshark软件,能在电脑上抓包。
2.对抓出包进行分析,分析得到的报文,并与学习到的知识相互印证。
二、实验内容:使用抓包软件抓取HTTP协议通信的网络数据和DNS通信的网络数据,分析对应的HTTP、TCP、IP协议和DNS、UDP、IP协议。
三、实验正文:IP报文分析:从图中可以看出:IP报文版本号为:IPV4首部长度为:20 bytes数据包长度为:40标识符:0xd74b标志:0x02比特偏移:0寿命:48上层协议:TCP首部校验和:0x5c12源IP地址为:119.75.222.18目的IP为:192.168.1.108从图中可以看出:源端口号:1891目的端口号:8000udp报文长度为:28检验和:0x58d7数据长度:20 bytesUDP协议是一种无需建立连接的协议,它的报文格式很简单。
当主机中的DNS 应用程序想要惊醒一次查询时,它构造一个DNS查询报文段并把它给UDP,不需要UDP之间握手,UDP为报文加上首部字段,将报文段交给网络层。
第一次握手:从图中看出:源端口号:56770目的端口号:80序列号为:0首部长为: 32 bytesSYN为1表示建立连接成功当fin为1时表示删除连接。
第二次握手:从图中看出:源端口号是:80目的端口号为:56770序列号为:0ack为:1Acknowledgement为1表示包含确认的报文Syn为1表示建立连接。
第三次握手:从图中看出:源端口:56770目的端口:80序列号为:1ACK为:1首部长为:20bytesAcknowledgement为1表示包含确认的报文所以,看出来这是TCP连接成功了Tcp是因特网运输层的面向连接的可靠的运输协议,在一个应用进程可以开始向另一个应用进程发送数据前,这两个进程必须先握手,即它们必须相互发送预备文段,建立确保传输的参数。
发送报文:GET/HTTP/1.1:是请求一个页面文件HOST:是请求的主机名Connection:持续连接Accept: 收到的文件User-Agent : 浏览器的类型Accept-encoding: gzip ,deflate ,sdch限制回应中可以接受的内容编码值,指示附加内容的解码方式为gzip ,deflate ,sdch 。
dns协议分析实验报告DNS 协议分析实验报告一、实验目的本次实验旨在深入理解 DNS(Domain Name System,域名系统)协议的工作原理、消息格式以及其在网络通信中的重要作用。
通过实际的抓包分析和实验操作,掌握 DNS 协议的查询和响应过程,了解 DNS 缓存机制、域名解析的流程,并对常见的 DNS 问题进行分析和解决。
二、实验环境1、操作系统:Windows 102、抓包工具:Wireshark3、网络环境:校园网三、实验原理1、 DNS 基本概念域名:如,是便于人们记忆和使用的网站名称。
IP 地址:如 19216801,是网络中设备的实际地址。
DNS 服务器:存储域名与 IP 地址对应关系的服务器。
2、 DNS 工作流程客户端向本地 DNS 服务器发送域名查询请求。
本地 DNS 服务器若没有缓存相应的记录,会向根 DNS 服务器、顶级 DNS 服务器等进行递归或迭代查询。
最终获取到 IP 地址后,返回给客户端,并在本地进行缓存。
3、 DNS 消息格式DNS 消息由头部和正文两部分组成。
头部包含标识、标志、问题数量、资源记录数量等字段。
正文包含查询问题、回答资源记录、授权资源记录和额外资源记录等部分。
四、实验步骤(一)安装和配置 Wireshark1、从官方网站下载 Wireshark 安装包,并按照提示进行安装。
2、打开 Wireshark,选择合适的网络接口进行抓包。
(二)进行 DNS 查询1、在命令提示符中,使用`nslookup` 命令查询一个域名,如`nslookup `。
2、同时在 Wireshark 中开始捕获数据包。
(三)分析 DNS 数据包1、在 Wireshark 中,筛选出 DNS 协议的数据包。
2、查看 DNS 数据包的头部信息,包括标识、标志、问题数量等。
3、分析查询问题部分,包括域名、查询类型(如 A 记录、MX 记录等)。
4、查看回答资源记录,获取域名对应的 IP 地址等信息。
实验八利用Wireshark分析DNS协议一、实验目的分析DNS协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤nslookup工具允许运行该工具的主机向指定的DNS服务器查询某个DNS记录。
如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。
其命令的一般格式是:nslookup –option1 –option2 host-to-find dns-server1、打开命令提示符(Command Prompt),输入nslookup命令。
图中显示三条命令,第一条命令:nslookup “提出一个问题”即:“将主机 的IP地址告诉我”。
屏幕上出现了两条信息:(1)“回答这一问题”DNS服务器的名字和IP地址;(2) 主机名字和IP地址。
第二条命令:nslookup –type=NS 在这个例子中,我们提供了选项“-type=N S”,域为。
执行这条命令后,屏幕上显示了DNS服务器的名字和地址。
接着下面是三个MIT DNS服务器,每一个服务器是MIT校园里权威的DNS服务器。
第三条命令:nslookup www.aiit.or.kr 在这个例子中,我们请求返回 DNS server 而不是默认的DNS服务器()。
此例中,DNS 服务器提供主机www.aiit.or.kr 的IP地址。
2、ipconfigipconfig用来显示TCP/IP 信息, 你的主机地址、DNS服务器地址,适配器等信息。
如果你想看到所有关于你所在主机的信息,可在命令行键入:ipconfig /allipconfig在管理主机所储存的DNS信息非常有用。
如果查看DNS缓存中的记录用命令:ipconfig /displaydns要清空DNS缓存,用命令:ipconfig /flushdns3、利用Wireshark捕获DNS信息(1)利用ipconfig命令清空你的主机上的DNS缓存。
(2)启动浏览器,将浏览器的缓存清空。
(3)启动Wireshark分组俘获器,在显示过滤筛说明处输入“ip.addr==your_IP_address”(如:ip.addr==202.202.210.104),过滤器(filter)将会删除所有目的地址和源地址都与指定IP地址不同的分组。
(4)开始Wireshark俘获。
(5)在浏览器的地址栏中输入:(6)停止分组俘获。
(7)重复上面的实验,只是将命令替换为:nslookup –type=NS (8)重复上面的实验,只是将命令替换为:nslookup www.aiit.or.kr 四、实验报告在实验的基础上,回答以下问题:(1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?(2)你的浏览器向服务器指出它能接收何种语言版本的对象?(3)你的计算机的IP地址是多少?服务器的IP地址是多少?(4)从服务器向你的浏览器返回的状态代码是多少?(5)你从服务器上所获取的HTML文件的最后修改时间是多少?(6)返回到你的浏览器的内容以供多少字节?(7)分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?(8)服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。
(9)与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么?(10)你的浏览器一共发出了多少个HTTP GET请求?这些请求被发送到的目的地的IP地址是多少?(11)对于浏览器发出的最初的HTTP GET请求,服务器的响应是什么(状态代码和状态短语)?(12)当浏览器发出第二个HTTP GET请求时,在HTTP GET报文中包含了哪些新的字段?(13)DNS查询报文的目的端口号是多少?DNS查询响应报文的源端口号是多少?//根据半径计算圆的周长和面积#include <iostream.h>const float PI=3.1416; //声明常量(只读变量)PI为3.1416 float fCir_L(float); //声明自定义函数fCir_L()的原型float fCir_S(float); //声明自定义函数fCir_S()的原型//以下是main()函数main(){float r,l,s; //声明3个变量cout<<"R="; //显示字符串cin>>r; //键盘输入l=fCir_L(r); //计算圆的周长,赋值给变量ls=fCir_S(r); //计算圆的面积,赋值给变量scout<<"l="<<l; //显示计算结果cout<<"\ns="<<s;}//定义计算圆的周长的函数fCir_L()float fCir_L(float x){float z=-1.0; //声明局部变量if (x>=0.0) //如果参数大于0,则计算圆的周长z=2*PI*x;return(z); //返回函数值}//定义计算圆的面积的函数fCir_S()float fCir_S(float x){float z=-1.0; //声明局部变量if (x>=0.0) //如果参数大于0,则计算圆的面积z=PI*x*x;return(z); //返回函数值}/* Program: P1-2.CPPWritten by: HapDate written: 02:11:10*/#include <iostream.h>void main(void){double s1,s2,s3;s1=1.5; /* 对变量s1赋值*/cout<<"s1="<<s1<<endl;/* 对变量s2赋值*/ s2=2.5;cout<<"s2="<<s2<<endl;s3= /* 对变量s3赋值*/ 3.5;cout<<"s3="<<s3<<endl;cout<<"s1+s2+s3="<<s1+s2+s3<<endl; //计算并显示//计算并显示cout<<"s1+s2+s3="<<s1+s2+s3<<endl;}#include <iostream.h>main(){double r=1.0;cout<<"r="<<r<<endl;double l;l=2*3.1416*r; //计算圆的周长,赋值给变量l cout<<"l="<<l<<endl; //显示圆的周长double s=3.1416*r*r; //计算圆的面积,赋值给变量s cout<<"s="<<s<<endl; //显示圆的面积cout<<"R="; //显示提示输入的信息cin>>r; //键盘输入l=2*3.1416*r; //计算圆的周长,赋值给变量l cout<<"l="<<l<<endl; //显示圆的周长s=3.1416*r*r;cout<<"s="<<s<<endl; //显示圆的面积}#include <iostream.h> //包含iostream.h头文件void main(){//输出字符常量、变量和字符串char c1='A';cout<<'W';cout<<c1<<endl;cout<<"This is a test."<<endl;cout<<"------------------"<<endl;//输出整型常量、变量和表达式int n=100;cout<<10;cout<<n;cout<<2*n<<endl; //输出整型表达式cout<<"------------------"<<endl;//输出浮点型常量、变量和表达式double pi=3.1415926,r=10.0,s=pi*r*r;cout<<pi<<endl;cout<<r;cout<<s;cout<<2*r*pi<<endl; //输出浮点型表达式cout<<"------------------"<<endl;//一个cout可以输出多项数据cout<<'W'<<" "<<c1<<endl;cout<<"This is a test."<<endl;cout<<"pi="<<pi<<" r="<<r<<" s="<<s<<endl;}#include <iostream.h> //包含iostream.h头文件main(){//输入输出字符char c;cin>>c;cout<<"c="<<c<<endl;//输入输出整型数据int n;cin>>n;cout<<"n="<<n<<endl;//输入输出浮点型数据double x;cin>>x;cout<<"x="<<x<<endl;。