269day(http原理补充:请求,响应)

本文介绍了HTTP的基本原理,包括请求与响应的过程,并对比了HTTP与HTTPS的区别。此外,还分享了解决ChromeDriver配置问题的经验,推荐了一本Python网络爬虫书籍。

《2018年7月7日》【连续269天】

标题:http原理补充:请求,响应;

内容:

1.之前是ChromeDriver的路径没设好,导致了没法用selenium库启动chrome浏览器,

将它放在python的scripts文件夹里就ok了,


这样显示就意味着已经设置完成;

2.今天看来新到的《python3网络爬虫实战》,讲的还是挺好的,想学爬虫的可以看看;

3.URI和URL:

URL是URI的子集。URI还包括URN。

4.http和https的区别:

https的全称是Hyper Text Transfer Protocol over Secure Socket Layer, over及后面就是比http多出来的内容,意为一安全为目标,就是说https是http的安全版,它多了一个SSL层,传输的内容经过了SSL加密;

顺带一提:

在chrome打开12306的官网:

因为12306的CA证书是中国铁道部自行签发的,不被CA机构信任;


5.http请求过程:

依次为:

请求的URL

请求的方法

响应状态码

远程服务器的地址和端口

Referrer判别策略




响应头;


请求头;

一、 实验目的及任务 熟悉并掌握Wireshark的基本操作,了解网络协议实体间进行交互以及报文交换的情况。 分析HTTP协议 分析DNS协议 二、 实验环境 与因特网连接的计算机网络系统;主机操作系统为Windows2000或Windows XP;Wireshark等软件。 三、 预备知识 要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。为探究协议操作细节,可使协议实体执行某些动作,观察这些动作及其影响。这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。顾名思义,一个分组嗅探器俘获(嗅探)计算机发送和接收的报文。一般情况下,分组嗅探器将存储和显示出被俘获报文的各协议头部字段的内容。图1为一个分组嗅探器的结构。 图1右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:web浏览器和ftp客户端)。分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。分组俘获库(packet capture library)接收计算机发送和接收的每一个链路层帧的拷贝。高层协议(如:HTTP、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧中,并沿着物理媒体(如以太网的电缆)传输。图1假设所使用的物理媒体是以太网,上层协议的报文最终封装在以太网帧中。 分组嗅探器的第二个组成部分是分析器。分析器用来显示协议报文所有字段的内容。为此,分析器必须能够理解协议所交换的所有报文的结构。例如:我们要显示图1中HTTP协议所交换的报文的各个字段。分组分析器理解以太网帧格式,能够识别包含在帧中的IP数据报。分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文段。然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。最后,它需要理解HTTP消息。 Wireshark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组分析器。Wireshark是免费的,可以从Http://www.wireshark.com得到。运行wireshark程序时,其图形用户界面如图2所示。最初,各窗口中并无数据显示。wireshark的界面主要有五个组成部分: 图2 Wireshark的用户界面 命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。最常用菜单命令有两个:File、Capture。File菜单允许你保存俘获的分组数据或打开一个已被保存的俘获分组数据文件或退出wireshark程序。Capture菜单允许你开始俘获分组。 俘获分组列表(listing of captured packets):按行显示已被俘获的分组内容,其中包括:wireshark赋予的分组序号、俘获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。 分组头部明细(details of selected packet header):显示俘获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或最小化相关信息。另外,如果利用TCP或UDP承载分组,wireshark也会显示TCP或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。 分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被俘获帧的完整内容。 显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。 四、 实验步骤 (一) Wireshark的使用 启动主机上的web浏览器。 启动wireshark。你会看到如图2所示的窗口,只是窗口中没有任何分组列表。 开始分组俘获:选择“capture”下拉菜单中的“Start”命令,会出现如图3所示的“Wireshark: Capture Options”窗口,可以设置分组俘获的选项。 图3 Wireshark的Capture Option 在实验中,可以使用窗口中显示的默认值。在“Wireshark: Capture Options”窗口的最上面有一个“interface”下拉菜单,其中显示计算机所具有的网络接口(即网卡)。当计算机具有多个活动网卡时,需要选择其中一个用来发送或接收分组的网络接口(如某个有线接口)。随后,单击“ok”开始进行分组俘获,所有由选定网卡发送和接收的分组都将被俘获。 开始分组俘获后,会出现如图4所示的分组俘获统计窗口。该窗口统计显示各类已俘获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的俘获。但此时你最好不要停止俘获分组。 在运行分组俘获的同时,在浏览器地址栏中输入某网页的URL,如:http://www2.sdai.edu.cn。为显示该网页,浏览器需要连接www2.sdai.edu.cn的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP报文的以太网帧将被Wireshark俘获。 图4 Wireshark的Packet Capture Windows 当完整的页面下载完成后,单击Wireshark俘获窗口中的stop按钮,停止分组俘获。此时,分组俘获窗口关闭。Wireshark主窗口显示已俘获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与www2.sdai.edu.cn服务器交换的HTTP报文。此时主窗口与图2相似。 在显示筛选规则中输入“http”,单击“apply”,分组列表窗口将只显示HTTP协议报文。 选择分组列表窗口中的第一条http报文。它应该是你的计算机发向ww2.sdai.edu.cn服务器的HTTP GET报文。当你选择该报文后,以太网帧、IP数据报、TCP报文段、以及HTTP报文首部信息都将显示在分组首部子窗口中。单击分组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。 (二)HTTP和DNS分析 HTTP GET/response交互 首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。 启动Web browser,然后启动Wireshark分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 一分钟以后,开始Wireshark分组俘获。 在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件): http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html 停止分组俘获。 根据俘获窗口内容,回答“五、实验报告内容”中的“(二)HTTP和DNS分析”1-6题。 HTTP 条件GET/response交互 启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet选项”命令,在出现的对话框中,选择“删除文件”)。 启动Wireshark分组俘获器。开始Wireshark分组俘获。 在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html,你的浏览器中将显示一个具有五行的非常简单的HTML文件。 在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”7-10题。 获取长文件 启动浏览器,将浏览器的缓存清空。 启动Wireshark分组俘获器。开始Wireshark分组俘获。 在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html,浏览器将显示一个相当大的美国权力法案。 停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”的11-14题。 嵌有对象的HTML文档 启动浏览器,将浏览器的缓存清空。 启动Wireshark分组俘获器。开始Wireshark分组俘获。 在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html,浏览器将显示一个具有两个图片的短HTTP文件 停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”的15-16题。 HTTP认证 启动浏览器,将浏览器的缓存清空。 启动Wireshark分组俘获器。开始Wireshark分组俘获。 在浏览器的地址栏中输入以下URL: http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html,浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:eth-students,密码:networks)。 停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“五、实验报告内容”中的“(二)HTTP和DNS分析”的17-18题。 跟踪DNS nslookup工具允许主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。nslookup的一般格式是: nslookup –option1 –option2 host-to-find dns-server ipconfig命令用来显示你当前的TCP/IP信息,包括:你的地址、DNS服务器的地址、适配器的类型等信息。如果,要显示与主机相关的信息用命令: ipconfig/all 如果查看DNS缓存中的记录用命令: ipconfig/displaydns 要清空DNS缓存,用命令: ipconfig /flushdns 运行以上命令需要进入MSDOS环境。 利用ipconfig命令清空你的主机上的DNS缓存。启动浏览器,并将浏览器的缓存清空。 启动Wireshark,在显示过滤筛选说明处输入“ip.addr==your_IP_address”(如:ip.addr==10.17.7.23),过滤器将会删除所有目的地址和源地址都与指定IP地址不同的分组。 开始Wireshark分组俘获。 在浏览器的地址栏中输入:http://www.ietf.org 停止分组俘获。 根据操作回答“五、实验报告内容”中的 “(二)HTTP和DNS分析”19-25题。 开始Wireshark分组俘获。 在www.mit.edu上进行nslookup(即执行命令:nslookup www.mit.edu)。 停止分组俘获。 根据操作回答“五、实验报告内容” 中的 “(二)HTTP和DNS分析”26-29题。 重复上面的实验,只是将命令替换为:nslookup –type=NS mit.edu 根据操作回答“五、实验报告内容” 中的 “(二)HTTP和DNS分析”30-32题。 重复上面的实验,只是将命令替换为:nslookup www.aiit.or.kr bitsy.mit.edu 根据操作回答“五、实验报告内容” 中的 “(二)HTTP和DNS分析”33-35题。 五、 实验报告内容 (一) Wireshark的使用 列出在第7步中分组列表子窗口所显示的所有协议类型。 从发出HTTP GET报文到接收到HTTP OK响应报文共需要多长时间?(在默认的情况下,分组列表窗口中Time列的值是从Wireshark开始追踪到分组被俘获的总的时间数,以秒为单位。若要按time-of-day格式显示Time列的值,需选择View下拉菜单,再选择Time Display Format,然后选择Time-of-day。) 你主机的IP地址是什么?你所访问的主页所在服务器的IP地址是什么? 写出两个第9步所显示的HTTP报文头部行信息。 (二)HTTP和DNS分析 你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行HTTP协议的版本号是多少? 你的浏览器向服务器指出它能接收何种语言版本的对象? 你的计算机的IP地址是多少?服务器gaia.cs.umass.edu的IP地址是多少? 从服务器向你的浏览器返回的状态代码是多少? 你从服务器上所获取的HTML文件的最后修改时间是多少? 返回到你的浏览器的内容一共多少字节? 分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE? 分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? 分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么? 服务器对第二个HTTP GET请求响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。 你的浏览器一共发出了多少个HTTP GET请求? 承载这一个HTTP响应报文一共需要多少个data-containing TCP报文段? 与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么? 在被传送的数据中一共有多少个HTTP状态行与TCP-induced”continuation”有关? 你的浏览器一共发出了多少个HTTP GET请求?这些请求被发送到的目的地的IP地址是多少? 浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。 对于浏览器发出的最初的HTTP GET请求,服务器的响应是什么(状态代码和状态短语)? 当浏览器发出第二个HTTP GET请求时,在HTTP GET报文中包含了哪些新的字段? 请帮我用详细的步骤来阐述如何利用wireshark做这个计算机网络原理的实验
11-08
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值