文档库 最新最全的文档下载
当前位置:文档库 › wireshark抓取https协议

wireshark抓取https协议

wireshark抓取https协议

作者:张春醒确认wireshark版本:

我使用的wireshark版本是2.4.3,低版本wireshark对https支持有限。第一种方法(keylogfile法):

1.设置windows环境变量,添加SSLKEYLOGFILE=E:\sslkeylog.log

2.wireshark首选项,ssl协议,最后的log filename选择E:\sslkeylog.log

3.开启wireshark抓包后,使用浏览器访问https网站。

观察到已经有明文http包了。追踪流->ssl流,可以查看完整http信息

第二种方法(服务器私钥法):

1.把服务器私钥拷贝到windows机器

两种形式:

a)p12格式的文件,例如:test.keystore.p12 + 密码

b)无密码的pem文件,例如:test.clear.pem

生成方法参见《转换keystore证书到PEM格式文件.doc》

2.给wireshark设置服务器私钥

wireshark首选项-> ssl ->RSA Key List

或者

3.打开第一种方法抓取的https包,也同样能看到http数据了。

wireshark分析tcp协议

WireShark分析TCP协议 韩承昊3172700 摘要: 利用wireshark分析TCP协议的报文,和其基本行为,包括三 次握手,中间信息的交互,和最后的断开连接。其中通过中间信息的交互,可以看出TCP的累积式确认。 一:基本TCP报文分析 我们来看一个简单的TCP报文,现在蓝字选中的是源端口号,

我们可以看到在这个报文中是14065,下面对应的是相应的二进制代码,我们可以看到的确是16bit。紧随其后的16bit就是目的端口号。 下面是序号,Sequence number: 1169。接下来的32bit是确认号,Acknowledgement number: 19353。再后面是首部长度,Header length: 20 bytes,和未用的3bit数据。 0= Urgent:Not set,1=Acknowledgement: set,0= Push:Not set,0= Reset:Not set,0= Syn:Not set,0= Fin:Not set,这些表示的是一些标识位,是URG紧急标识,ACK确认标识,PSH推送标识,RST、SYN、FIN用于建立和结束连接。window size value:65535 表示接收窗口。 二:三次握手分析 三次握手的第一步,客户机端会向服务器端发送一个特殊的TCP报文段,这个报文段的SYN被置为1,并会发送一个起始序号seq。

我们看到SYN为1,且Sequence number=0,这样,面对这样的请求报文段,服务器听该返回一个SYN=1,返回自己的初始seq,并且要求主机发送下一个报文段的序号,ack=1。下面是服务端实际返回的报文。 正如我们所期待的那样,服务器返回了自己的seq=0,并且要求主机端发送下一个报文段,并且SYN=1。这样主机端就应该返回seq=1,ack=1,要求服务端发送下一个报文,并且SYN=0,结束建立连接阶段,结束三次握手。

HTTPS协议简介

下面我们来一起学习一下 HTTPS ,首先问你一个问题,为什么有了 HTTP 之后,还需要有 HTTPS ?我突然有个想法,为什么我们面试的时候需要回答标准答案呢?为什么我们不说出我们自己的想法和见解,却要记住一 些所谓的标准回答呢?技术还有正确与否吗? HTTPS 为什么会出现 一个新技术的出现必定是为了解决某种问题的,那么 HTTPS 解决了 HTTP 的什么问题呢? HTTPS 解决了什么问题 一个简单的回答可能会是HTTP 它不安全。由于 HTTP 天生明文传输的特性,在 HTTP 的传输过程中,任何人都有可能从中截获、修改或者伪造请求发送,所以可以认为 HTTP 是不安全的;在 HTTP 的传输过程中不会验证通信方的身份,因此 HTTP 信息交换的双方可能会遭到伪装,也就是没有用户验证;在 HTTP 的传输过程中,接收方和发送方并不会验证报文的完整性,综上,为了解决上述问题,HTTPS 应用而生。 什么是 HTTPS 你还记得 HTTP 是怎么定义的吗?HTTP 是一种超文本传输协议(Hypertext Transfer Protocol) 协议,它是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范,那么我们看一下 HTTPS 是如何定义的HTTPS 的全称是Hypertext Transfer Protocol Secure,它用来在计算机网络上的两个端系统之间进行安全的交

换信息(secure communication),它相当于在 HTTP 的基础上加了一 个Secure 安全的词眼,那么我们可以给出一个 HTTPS 的定义:HTTPS 是一个在计算机世界里专门在两点之间安全的传输文字、图片、音频、视频等超文本数据的约定和规范。HTTPS 是 HTTP 协议的一种扩展,它本身并不保传输的证安全性,那么谁来保证安全性呢?在 HTTPS 中,使用传输层安全性(TLS)或安全套接字层(SSL)对通信协议进行加密。也就是 HTTP + SSL(TLS) = HTTPS。 HTTPS 做了什么 HTTPS 协议提供了三个关键的指标 ?加密(Encryption), HTTPS 通过对数据加密来使其免受窃听者对数据的监听,这就意味着当用户在浏览网站时,没有人能够监听他和网站之间的信息交换,或者跟踪用户的活动,访问记录等,从而窃取用户信息。 ?数据一致性(Data integrity),数据在传输的过程中不会被窃听者所修改,用户发送的数据会完整的传输到服务端,保证用户发的是什么,服务器接收的就是什么。 ?身份认证(Authentication),是指确认对方的真实身份,也就是证明你是你(可以比作人脸识别),它可以防止中间人攻击并建立用户信任。 有了上面三个关键指标的保证,用户就可以和服务器进行安全的交换信息了。 那么,既然你说了 HTTPS 的种种好处,那么我怎么知道网站是用 HTTPS 的还是 HTTP 的呢?给你两幅图应该就可以解释了。

实验yi:网络协议分析工具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 (3)( arp or icmp ) and ether host 18-03-73-BC-70-51, ping 192.168.32.254 后的截包信息图片:

首先,通过ARP找到所ping机器的ip地址,本机器发送一个广播包,在子网中查询192.168.32.254的MAC地址,然后一个节点发送了响应该查询的ARP分组,告知及其所查询的MAC地址。接下来,本机器发送3个请求的ICMP报文,目的地段回复了三个响应请求的应答ICMP报文。在最后对请求主机对应的MAC地址进行核查。 2.用Wireshark观察tracert命令的工作过程:(20分) (1)运行Wireshark, 开始捕获tracert命令中用到的消息; (2)执行“tracert -d https://www.wendangku.net/doc/964105507.html,” 根据Wireshark所观察到的现象思考并解释tracert的工作原理。 ----------------------------------------------------------- 实验室路由跟踪显示有6个路由器

Apache配置HTTPS协议

Apache配置HTTPS协议搭载SSl配置全过程 1.安装必要的软件 从Apache官方(https://www.wendangku.net/doc/964105507.html,)下载必要的ApacheHttpServer安装包,可以直接官方提供的绑定openssl的apache.文件名是: httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi(我用的是Apache2.2.15for windows的版本,你可以点击此处下载最新的版本进行安装,最好选择含有openssl版本的哦) 否则单独安装windows下的openssl比较麻烦,要么找到一个第三方的编译结果,要么自己编译 安装完毕后检查检查在Apache安装路径的bin下是否有以下文件: openssl.exe

ssleay32.dll libeay32.dll 2. 生成服务器证书 安装好在bin目录下有一个openssl.exe文件,用来生成证书和密钥。 1). 生成服务器用的私钥文件server.key (注:在Windows操作系统环境下需先设置Openssl环境变量:在DOS命令下进入conf目录,执行命令行:set OPENSSL_CONF=..\conf\https://www.wendangku.net/doc/964105507.html,f;请在执行之前确保https://www.wendangku.net/doc/964105507.html,f存在,否则会出现:WARNING: can't open config file: /usr/local/ssl/https://www.wendangku.net/doc/964105507.html,f 信息提示。还有在windows系统下.cnf 默认会被当成快捷方式,看不到扩展名。) 在DOS命令下进入bin目录,执行命令行 命令:openssl genrsa 1024> server.key 说明:这是用128位rsa算法生成密钥,得到server.key文件>是输出文件的标识符这种生成方法生成的是没有密钥的私钥文件,当然,Apache提供了加入密钥(Password)的命令,就是加入参数-des3,全部的命令为: 命令:openssl genrsa 1024-des3 > server.key 使用 openssl genrsa -des3 > 1024 server.key生成私钥文件是需要输入密钥的,运行的时候会让你输入并确认你的密钥,但是在Windows环境下会导致以下错误: 错误:Apache启动失败,错误提示是:Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file .....) 原因是window下的apache不支持加密的私钥文件。可不使用des3加密。注:生成的证书中RSA密钥对的默认长度是1024,取值是2的整数次方。建议使用4096以上。

实验使用Wireshark分析

实验六使用W i r e s h a r k分析U D P 一、实验目的 比较TCP和UDP协议的不同 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、打开两次TCP流的有关跟踪记录,保存在中,并打开两次UDP流中的有关跟踪文件。如图所示: 图1:TCP 流跟踪记录 图2:UDP流跟踪记录 2、分析此数据包: (1)TCP传输的正常数据: 文件的分组1到13中显示了TCP连接。这个流中的大部分信息与前面的实验相同。我们在分组1到分组3中看到了打开连接的三次握手。分组10到分组13显示的则是连接的终止。我们看到分组10既是一个带有FIN标志的请求终止连接的分组,又是一个最后1080个字节的(序号是3921—5000)的重传。 TCP将应用程序写入合并到一个字节流中。它并不会尝试维持原有应用程序写人的边界值。我们注意到TCP并不会在单个分组中传送1000字节的应用程序写入。前1000个字节会在分组4种被发送,而分组5则包含了1460个字节的数据-----一些来自第二个缓冲区,而另一些来自第三个缓冲区。分组7中含有1460个字节而分组8中则包含剩余的1080个字节。(5000-0=1080) 我们注意到实际报告上的秒是从初始化连接的分组1开始到关闭连接的分组10结束。分组11—13未必要计入接收端应用程序的时间内,因为一旦接收到第一个FIN,TCP层便马上发送一个关闭连接的信号。分组11—13只可能由每台计算机操作系统得TCP层后台传输。 如果我们注意到第一个包含数据的分组4和最后一个分组8之间的时间,我们就大约计算出和由UDP接收端所报告的秒相同的时间。这样的话,增加TCP传输时间的主要原因就是分组10中的重传。公平的说,UDP是幸运的,因为它所有的分组都在第一时间被接受了。

HTTPS传输协议原理介绍

HTTPS传输协议原理介绍 Hatter Jiang Apr 9th, 2008我们常常在使用网上银行时看到的连接都是以“https”开始的,那么这个https是什么呢?这其实是表示目前连接使用了SSL进行加密,能保证客户端到服务器端的通信都在被保护起来,那么浏览器是如果实现的呢?下面我们介绍一下SSL的基本实现方法。 首先我们有两种基本的加解密算法类型:对称加密,非对称加密(公私钥加密),现在介绍一下这两种加密算法的特点: 对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等,示意图如下: 图1 对称加密 非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等,示意图如下: 图2 非对称加密 根据上面的两种加密方法,现在我们就可以设计一种无法让他人在互联网上知道你的通讯信息的加密方法: 1.在服务器端存在一个公钥及私钥 2.客户端从服务器取得这个公钥 3.客户端产生一个随机的密钥 4.客户端通过公钥对密钥加密(非对称加密) 5.客户端发送到服务器端 6.服务器端接受这个密钥并且以后的服务器端和客户端的数据全部通过这个密钥加 密(对称加密) HTTPS通信过程的时序图如下:

图3 HTTPS通信时序图 正如上图所示,我们能保证下面几点: 1.客户端产生的密钥只有客户端和服务器端能得到 2.加密的数据只有客户端和服务器端才能得到明文 3.客户端到服务端的通信是安全的 当然实际的SSL实现算法复杂的多,并有数据校验、身份验证等功能,如果需要更多了角请参看RFC2246及RFC4346文档。 参考文献: [1] RFC2246 T. Dierks, C. Allen The TLS Protocol Version 1.0 [2] RFC4346 T.Dierks, E. Rescorla The Transport Layer Security (TLS) Protocol Version 1.1

利用wireshark分析HTTP协议实验报告

利用wireshark分析HTTP协议实验报告 姓名:杨宝芹 学号:2012117270 班级:电子信息科学与技术 时间:2014.12.26

利用wireshark分析HTTP协议实验报告 一、实验目的 分析HTTP协议。 二、实验环境 连接Internet的计算机,操作系统为windows8.1; Wireshark,版本为1.10.7; Google Chrome,版本为39.0.2171.65.m; 三、实验步骤 1.清空缓存 在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS 高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。 2.启动wireshare 3.开始俘获 1)在菜单中选择capture-options,选择网络,打开start。如下图:

2)在浏览器地址栏中输入https://www.wendangku.net/doc/964105507.html,,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

在菜单中选择file-save,保存结果,以便分析。(结果另附) 四、分析数据 在协议框中选择“GET/HTTP/1.1”所在的分组会看到这个基本请求行后跟随 着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该 首部与下一个首部隔开。“Host”首部在HTTP1.1版本中是必须的,它描述了URL 中机器的域名,本实验中式https://www.wendangku.net/doc/964105507.html,。这就允许了一个Web服务器在同一 时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接 哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本 的主要变化。User-Agent首部描述了提出请求的Web浏览器及客户机器。接下 来是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受语言)、 Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web

完整实验五 使用Wireshark分析TCP协议

实验五使用Wireshark分析TCP协议、实验目的 分析TCP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、捕获一个从你电脑到远程服务器的TCP数据 打开FTP客户端,连接ftp://202.120.222.71,用” TCP为过滤条件,捕获建 立连接和断开连接的数据。 图5.1捕获的TCP数据 (1)连接建立: TCP连接通过称为三次握手的三条报文来建立的。观察以上数据,其中分组10到12显示的就是三次握手。第一条报文没有数据的TCP报文段(分组10), 并将首部SYN位

设置为1。因此,第一条报文常被称为SYN分组。这个报文段 里的序号可以设置成任何值,表示后续报文设定的起始编号。连接不能自动从1 开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。观察分组10,Wireshark显示的序号是0。选择分组首部的序号字段,原始框中显示“9b 8e d1 f5 ”ireshark显示的是逻辑序号,真正的初始序号不是0。如图5.2所示: 图5.2逻辑序号与实际初始序号(分组10) SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序。 如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK 分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给

抓包实验

:利用Wireshark软件进行数据包抓取 1.3.2 抓取一次完整的网络通信过程的数据包实验 一,实验目的: 通过本次实验,学生能掌握使用Wireshark抓取ping命令的完整通信过程的数据包的技能,熟悉Wireshark软件的包过滤设置和数据显示功能的使用。 二,实验环境: 操作系统为Windows 7,抓包工具为Wireshark. 三,实验原理: ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。 四,验步骤: 1.确定目标地址:选择https://www.wendangku.net/doc/964105507.html,作为目标地址。 2.配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp,如图 1- 1

图 1-1 3.启动抓包:点击【start】开始抓包,在命令提示符下键入ping https://www.wendangku.net/doc/964105507.html,, 如图 1-2

图 1-2 停止抓包后,截取的数据如图 1-3 图 1-3 4,分析数据包:选取一个数据包进行分析,如图1- 4

图1-4 每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的封装。DLC协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请正常的包。ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈,报文类型可归纳如下: (1)诊断报文(类型:8,代码0;类型:0代码:0); (2)目的不可达报文(类型:3,代码0-15); (3)重定向报文(类型:5,代码:0--4); (4)超时报文(类型:11,代码:0--1); (5)信息报文(类型:12--18)。

wireshark抓包分析实验报告

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 目的端口号:8000 udp报文长度为:28 检验和:0x58d7 数据长度:20 bytes UDP协议是一种无需建立连接的协议,它的报文格式很简单。当主机中的DNS 应用程序想要惊醒一次查询时,它构造一个DNS查询报文段并把它给UDP,不需要UDP之间握手,UDP为报文加上首部字段,将报文段交给网络层。

第一次握手: 从图中看出: 源端口号:56770 目的端口号:80 序列号为:0 首部长为: 32 bytes SYN为1表示建立连接成功当fin为1时表示删除连接。

第二次握手: 从图中看出: 源端口号是:80 目的端口号为:56770 序列号为:0 ack为:1 Acknowledgement为1表示包含确认的报文Syn为1表示建立连接。

第三次握手: 从图中看出: 源端口:56770 目的端口:80 序列号为:1 ACK为:1 首部长为:20bytes Acknowledgement为1表示包含确认的报文 所以,看出来这是TCP连接成功了 Tcp是因特网运输层的面向连接的可靠的运输协议,在一个应用进程可以开始向另一个应用进程发送数据前,这两个进程必须先握手,即它们必须相互发送预备文段,建立确保传输的参数。

(完整)实验五_使用Wireshark分析TCP协议

实验五使用Wireshark分析TCP协议 一、实验目的 分析TCP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、捕获一个从你电脑到远程服务器的TCP数据 打开FTP客户端,连接ftp://202.120.222.71,用”TCP”为过滤条件,捕获建立连接和断开连接的数据。 图5.1 捕获的TCP数据 (1)连接建立: TCP连接通过称为三次握手的三条报文来建立的。观察以上数据,其中分组

10到12显示的就是三次握手。第一条报文没有数据的TCP报文段(分组10),并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组。这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。观察分组10,Wireshark显示的序号是0。选择分组首部的序号字段,原始框中显示“9b 8e d1 f5”。Wireshark显示的是逻辑序号,真正的初始序号不是0。如图5.2所示: 图5.2 逻辑序号与实际初始序号(分组10) SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序。 如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK 分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给

大型互联网站点HTTPS实践(一):详解HTTPS协议和原理

大型互联网站点HTTPS实践(一):详解HTTPS协议和原理1 前言 百度作为搜索巨头,一举一动都牵动着大家神经。近日百度率先实行全站https加密搜索,默认将HTTP请求跳转成HTTPS,这一举措引起公众广泛关注和讨论。那么到底什么是https呢?全站部署https有什么重大意义?本文将重点介绍。 2 HTTPS 协议概述 HTTPS 可以认为是HTTP + TLS。HTTP 协议大家耳熟能详了,目前大部分WEB 应用和网站都是使用HTTP 协议传输的。 TLS 是传输层加密协议,它的前身是SSL 协议,最早由netscape 公司于1995 年发布,1999 年经过IETF 讨论和规范后,改名为TLS。如果没有特别说明,SSL 和TLS 说的都是同一个协议。 HTTP 和TLS 在协议层的位置以及TLS 协议的组成如下图: 图1 TLS 协议格式 TLS 协议主要有五部分:应用数据层协议,握手协议,报警协议,加密消息确认协议,心跳协议。

TLS 协议本身又是由record 协议传输的,record 协议的格式如上图最右所示。 目前常用的HTTP 协议是HTTP1.1,常用的TLS 协议版本有如下几个:TLS1.2, TLS1.1, TLS1.0 和SSL3.0。其中SSL3.0 由于POODLE 攻击已经被证明不安全,但统计发现依然有不到1% 的浏览器使用SSL3.0。TLS1.0 也存在部分安全漏洞,比如RC4 和BEAST 攻击。 TLS1.2 和TLS1.1 暂时没有已知的安全漏洞,比较安全,同时有大量扩展提升速度和性能,推荐大家使用。 需要关注一点的就是TLS1.3 将会是TLS 协议一个非常重大的改革。不管是安全性还是用户访问速度都会有质的提升。不过目前没有明确的发布时间。 同时HTTP2也已经正式定稿,这个由SPDY 协议演化而来的协议相比HTTP1.1 又是一个非常重大的变动,能够明显提升应用层数据的传输效率。 3 HTTPS 功能介绍 百度使用HTTPS 协议主要是为了保护用户隐私,防止流量劫持。 HTTP 本身是明文传输的,没有经过任何安全处理。例如用户在百度搜索了一个关键字,比如“苹果手机”,中间者完全能够查看到这个信息,并且有可能打电话过来骚扰用户。也有一些用户投诉使用百度时,发现首页或者结果页面浮了一个很长很大的广告,这也肯定是中间者往页面插的广告内容。如果劫持技术比较低劣的话,用户甚至无法访问百度。 这里提到的中间者主要指一些网络节点,是用户数据在浏览器和百度服务器中间传输必须要经过的节点。比如WIFI 热点,路由器,防火墙,反向代理,缓存服务器等。 在HTTP 协议下,中间者可以随意嗅探用户搜索内容,窃取隐私甚至篡改网页。不过HTTPS 是这些劫持行为的克星,能够完全有效地防御。

HTTPS请求工具类汇总

HTTPS请求 package com.sunzk.dreamsunlight.weixin.util; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import https://www.wendangku.net/doc/964105507.html,.ConnectException; import https://www.wendangku.net/doc/964105507.html,.URL; import https://www.wendangku.net/doc/964105507.html,.ssl.HttpsURLConnection; import https://www.wendangku.net/doc/964105507.html,.ssl.SSLContext; import https://www.wendangku.net/doc/964105507.html,.ssl.SSLSocketFactory; import https://www.wendangku.net/doc/964105507.html,.ssl.TrustManager; import net.sf.json.JSONException; import net.sf.json.JSONObject; import org.apache.log4j.Logger;

import com.sunzk.dreamsunlight.weixin.certificate.MyX509 TrustManager; import com.sunzk.dreamsunlight.weixin.model.Menu; import com.sunzk.dreamsunlight.weixin.token.AccessToken; /** * * @ClassName: WeiXinHttpsUtil * * @Description: TODO(微信HTTPS请求工具类) * * @author sunzk-dreamsunlight-QQ(1131341075) * * @date 2016-11-14 上午10:05:56 * */ public class WeiXinHttpsUtil {

计算机网络实验-使用Wireshark分析IP协议

实验三使用Wireshark分析IP协议 一、实验目的 1、分析IP协议 2、分析IP数据报分片 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 IP协议是因特网上的中枢。它定义了独立的网络之间以什么样的方式协同工作从而形成一个全球户联网。因特网内的每台主机都有IP地址。数据被称作数据报的分组形式从一台主机发送到另一台。每个数据报标有源IP地址和目的IP地址,然后被发送到网络中。如果源主机和目的主机不在同一个网络中,那么一个被称为路由器的中间机器将接收被传送的数据报,并且将其发送到距离目的端最近的下一个路由器。这个过程就是分组交换。 IP允许数据报从源端途经不同的网络到达目的端。每个网络有它自己的规则和协定。IP能够使数据报适应于其途径的每个网络。例如,每个网络规定的最大传输单元各有不同。IP允许将数据报分片并在目的端重组来满足不同网络的规定。 表 DHCP报文

者续借租用 DHCP-ACK DHCP服务器通知客户端可以使用分配的IP地址和配置参 数 DHCP-NAK DHCP服务器通知客户端地址请求不正确或者租期已过期, 续租失败 DHCP-RELEASE DHCP客户端主动向DHCP服务器发送,告知服务器该客户 端不再需要分配的IP地址 DHCP-DECLINE DHCP客户端发现地址冲突或者由于其它原因导致地址不 能使用,则发送DHCP-DECLINE报文,通知服务器所分配的 IP地址不可用 DHCP-INFORM DHCP客户端已有IP地址,用它来向服务器请求其它配置 参数 图 DHCP报文 1、使用DHCP获取IP地址

计算机网络实验-使用Wireshark分析TCP和UDP协议

实验3 Wireshark抓包分析TCP和UDP协议 一、实验目的 1、通过利用Wireshark抓包分析TCP和UDP报文,理解TCP和UDP报文的封装格式. 2、理解TCP和UDP的区别。 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。 三、实验原理 1、wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。 2、TCP则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP的首部格式为:

3.UDP则提供面向非连接的服务。UDP的首部格式为: 四、实验步骤 1.如图所示这是TCP的包,下面蓝色的是TCP中所包含的数据。

由截图可以看出来TCP报文中包含的各个数据,TCP报文段(TCP报文通常称为段或TCP报文段),与UDP数据报一样也是封装在IP中进行传输的,只是IP 报文的数据区为TCP报文段。 这是TCP的源端口号

目的端口号10106 序列号是167

确认端口号50547 头长度20字节 窗口长度64578

校验合0x876e 五、实验内容 1.找出使用TCP和UDP协议的应用。 2.利用wireshark抓获TCP数据包。 3.分析TCP数据包首部各字段的具体内容,画出TCP段结构,填写其中内容。4.利用wireshark抓获UDP数据包。 5.分析UDP数据包首部各字段的具体内容,画出UDP段结构,填写其中内容。6.找出TCP建立连接的一组数据包,指出其中的序号和确认号变化。 7.找出TCP关闭连接的一组数据包,指出其中的标志字段数值。

HTTPS协议

https HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。 一、信任主机的问题. 采用https的服务器必须从CA (Certificate Authority)申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候,客户端才信任此主机。所以目前所有的银行系统网站,关键部分应用都是

https 的。客户通过信任该证书,从而信任了该主机。其实这样做效率很低,但是银行更侧重安全。这一点对我们没有任何意义,我们的服务器,采用的证书不管是自己发布的还是从公众的地方发布的,其客户端都是自己人,所以我们也就肯定信任该服务器。 二、通讯过程中的数据的泄密和被篡改 1.一般意义上的https,就是服务器有一个证书。 a) 主要目的是保证服务器就是他声称的服务器,这个跟第一点一样。 b) 服务端和客户端之间的所有通讯,都是加密的。 i. 具体讲,是客户端产生一个对称的密钥,通过服务器的证书来交换密钥,即一般意义上的握手过程。 ii. 接下来所有的信息往来就都是加密的。第三方即使截获,也没有任何意义,因为他没有密钥,当然篡改也就没有什么意义了。 2.少许对客户端有要求的情况下,会要求客户端也必须有一个证书。 a) 这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码,还有一个CA 认证过的身份。因为个人证书一般来说是别人无法模拟的,所有这样能够更深的确认自己的身份。 b) 目前少数个人银行的专业版是这种做法,具体证书可能是拿U盘(即U盾)作为一个备份的载体。[1] 限制 概述 它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持. 一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户到服务器之间的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击者会尝试窃听传输中的数据。 商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服务器少数情况有可能被未授权用户攻击和损害。 TLS 1.1之前 这段仅针对TLS 1.1之前的状况。因为SSL位于http的下一层,并不能理解更高层协议,通常SSL服务器仅能颁证给特定的IP/端口组合。这是指它经常不能在虚拟主机(基于域名)上与HTTP正常组合成HTTPS。

使用wireshark分析HTTPS流程的建立

使用wireshark分析HTTPS流程的建立

使用wireshark分析HTTPS流程的建立 摘要: https流程 一、概要 为了网站以及用户的安全性,现在很多的网站都是https,大家都知道tcp通过三次握手建立连接,并且还有很多的同学对https连接建立的流程不太明白,包括我自己,通过借助于wireshark这种抓包工具,我们可以尝试着了解一下大概的流程。 (图1) 本图是客户端(10.0.45.103)访问服务端(114.215.88.85)通过wireshark 抓包显示出来的双方交互数据,访问是通过https访问服务器上的一台nginx 服务器服务。请关注第一列的No。下文中很多时候会用no表示一次交互。 图中可以很明显的看出tcp的三次握手以及之后的TLS加密流程的建立。二、tcp的三次握手 通过流程图可以看出(也可以看图1 的19368到19370这三个编号),首先客户端向服务端发起一个SYN的请求,序号(Seq)为0,确认号(ACK)也为0,这代表是本次是由客户端发起的首次请求。本次请求的数据长度为0 然后服务端给客户端响应,此时服务端的Seq也是0,值得是服务端的第一回应,并且给客户端说,你的请求我已经收到了(ACK=1),

最后返还给客户端以后,客户端的序号+1,并且对服务端的响应做出确认,最后回给服务端,此时ACK=1,Seq=1 tcp的握手过程建立成功。 三、ssl连接的建立 通过以上可以看出,SSL也是建立在TCP的基础上的,经过tcp的三次握手,接下来才是加密信道的建立。 客户端和服务端建立安全连接大致经过以下几个步骤 1.客户端:ClientHello 2.服务端:Server Hello,Server certificate,Server Exchange,Server Hello Done 3.客户端:client Exchange 4.客户端:Application Data 5.服务端:New Session 6.服务端:Application Data 接下来看这几个步骤中具体的每一个步骤传输的内容 ClientHello client首先给服务端打招呼,对服务端说hello 应用层没什么特别的

利用Wireshark进行TCP协议分析

利用Wireshark进行TCP协议分析 TCP报文首部,如下图所示: 1. 源端口号:数据发起者的端口号,16bit 2. 目的端口号:数据接收者的端口号,16bit 3. 序号:32bit的序列号,由发送方使用 4. 确认序号:32bit的确认号,是接收数据方期望收到发送方的下一个报文段的序号,因此确认序号应当是上次已成功收到数据字节序号加1。 5. 首部长度:首部中32bit字的数目,可表示15*32bit=60字节的首部。一般首部长度为20字节。 6. 保留:6bit, 均为0 7. 紧急URG:当URG=1时,表示报文段中有紧急数据,应尽快传送。 8. 确认比特ACK:ACK = 1时代表这是一个确认的TCP包,取值0则不是确认包。 9. 推送比特PSH:当发送端PSH=1时,接收端尽快的交付给应用进程。 10. 复位比特(RST):当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建立连接。 11. 同步比特SYN:在建立连接是用来同步序号。SYN=1,ACK=0表示一个连接请求报文

段。SYN=1,ACK=1表示同意建立连接。 12. 终止比特FIN:FIN=1时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。 13. 窗口:用来控制对方发送的数据量,通知发放已确定的发送窗口上限。 14. 检验和:该字段检验的范围包括首部和数据这两部分。由发端计算和存储,并由收端进行验证。 15. 紧急指针:紧急指针在URG=1时才有效,它指出本报文段中的紧急数据的字节数。 16.选项:长度可变,最长可达40字节 TCP的三次握手和四次挥手: 第一次握手数据包 客户端发送一个TCP,标志位为SYN,序列号为0,代表客户端请求建立连接。如下图

wireshark抓包分析

用wireshark分析Http 和Dns 报文 一、http请求报文和响应报文 wireshark所抓的一个含有http请求报文的帧: 1、帧的解释 链路层的信息上是以帧的形式进行传输的,帧封装了应用层、传输层、网络层的数据。而wireshark抓到的就是链 路层的一帧。 图中解释: Frame 18:所抓帧的序号是11,大小是409字节 Ethernet :以太网,有线局域网技术,属链路层 Inernet Protocol:即IP协议,也称网际协议,属网络层 Transmisson Control Protocol:即TCP协议,也称传输控 制协议。属传输层 Hypertext transfer protocol:即http协议,也称超文本传 输协议。属应用层 图形下面的数据是对上面数据的16进制表示。

2、分析上图中的http请求报文 报文分析: 请求行: GET /img/2009people_index/images/hot_key.gif HTTP/1.1 方法字段/ URL字段/http协议的版本 我们发现,报文里有对请求行字段的相关解释。该报文请求的是一个对象,该对象是图像。 首部行: Accept: */* Referer: https://www.wendangku.net/doc/964105507.html,/这是网站网址 Accept-Language: zh-cn 语言中文 Accept-Encoding: gzip, deflate 可接受编码,文件格式User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Window s NT 5.1; SV1; CIBA; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; 360SE) 用户代理,浏览器的类型是Netscape浏览器;括号内 是相关解释 Host: https://www.wendangku.net/doc/964105507.html,目标所在的主机 Connection: Keep-Alive 激活连接 在抓包分析的过程中还发现了另外一些http请求报文中所特有的首部字段名,比如下面http请求报文中橙黄色首部字段名:

Wireshark抓包实例分析

Wireshark抓包实例分析 通信工程学院010611班赖宇超01061093 一.实验目的 1.初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。 2.通过对Wireshark抓包实例进行分析,进一步加深对各类常用网络协议的理解,如:TCP、UDP、IP、SMTP、POP、FTP、TLS等。 3.进一步培养理论联系实际,知行合一的学术精神。 二.实验原理 1.用Wireshark软件抓取本地PC的数据包,并观察其主要使用了哪些网络协议。 2.查找资料,了解相关网络协议的提出背景,帧格式,主要功能等。 3.根据所获数据包的内容分析相关协议,从而加深对常用网络协议理解。 三.实验环境 1.系统环境:Windows 7 Build 7100 2.浏览器:IE8 3.Wireshark:V 1.1.2 4.Winpcap:V 4.0.2 四.实验步骤 1.Wireshark简介 Wireshark(原Ethereal)是一个网络封包分析软件。其主要功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。其使用目的包括:网络管理员检测网络问题,网络安全工程师检查资讯安全相关问题,开发者为新的通讯协定除错,普通使用者学习网络协议的

相关知识……当然,有的人也会用它来寻找一些敏感信息。 值得注意的是,Wireshark并不是入侵检测软件(Intrusion Detection Software,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark 撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。Wireshark本身也不会送出封包至网络上。 2.实例 实例1:计算机是如何连接到网络的? 一台计算机是如何连接到网络的?其间采用了哪些协议?Wireshark将用事实告诉我们真相。如图所示: 图一:网络连接时的部分数据包 如图,首先我们看到的是DHCP协议和ARP协议。 DHCP协议是动态主机分配协议(Dynamic Host Configuration Protocol)。它的前身是BOOTP。BOOTP可以自动地为主机设定TCP/IP环境,但必须事先获得客户端的硬件地址,而且,与其对应的IP地址是静态的。DHCP是BOOTP 的增强版本,包括服务器端和客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。 ARP协议是地址解析协议(Address Resolution Protocol)。该协议将IP地址变换成物理地址。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。 让我们来看一下数据包的传送过程:

相关文档