ARP协议抓包分析
ARP时根据ip地址获取物理地址的一个TCP/IP协议。
ARP工作过程分为请求过程、响应过程。
ARP缓存包含一个或多个表用于存储IP地址及其经过解析的MAC地址。每个表又称为arp缓存表
局域网任何一台主机中都有一个ARP缓存表
ARP命令
语法
arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
参数
-a InetAddr [ -N IfaceAddr] 显示所有接口当前ARP缓存表
-g InetAddr [ -N IfaceAddr] 与 -a 相同。
-d InetAddr [IfaceAddr]
删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。要删除所有项,请使用星号 (*) 通配符代替 InetAddr。
Netsh 可以支持多个win2000组件
允许从本地或远程显示或者修改当前正在运行的计算机网络配置。netsh还提供了一个脚本功能,可以对指定的计算机批处理运行一组命令。
捕获ARP协议包
ARP包不会主动发送 需要主机进行通信才可以
分析ARP协议包
请求协议
应答协议
ARP请求包
ARP响应包
互联网协议 (ip)抓包分析
捕获ip数据包
TCP/IP协议定义了一个在因特网上传输的包称为ip数据报 是一个与硬件无关的虚拟包。
捕获ip协议包设计到一个TTL。 ping ip/网址来捕获。
捕获ip分片数据包
数据包超过1500个字节就需要将该包进行分片发送。
ip数据报首部格式
存活时间TTL
IP分片却不同类型网络时
数据报分片是将一个数据流分为更小的片段, 是IP用于解决跨越不同类型网络时可靠传输的一个特性。
分片大小基于第二层数据链路层所使用传输单元的大小。
分析ip首部
以太网帧头部信息 mac dc:fe 目标mac a0:88
ipv4包头部信息
源ip地址192.168.5.2 目标ip 192.168.1.195
分析IP数据包中TTL的变化 time to live
分析同网段中数据包的TTL值
echo请求 echo响应
64给65发送请求包
两个包IP不是同一个网络 经过路由
分析不同网段中数据包的TTL值 time to live
ip分片数据包分析
223页。
UDP协议概述
UDP协议就是一种无连接的协议。作用就是将网络数据流量压缩成数据包的形式。
udp特点:
1.面向无连接
UDP协议,一样会在物理线路上创建一条“虚拟信道”,否则UDP协议无法传输数据,但是,当UDP协议传完数据后,这条“虚拟信道”就被立即注销了
2.数据包
不存在粘包问题
3 效率高
4 丢包乱序
UDP 协议是无连接的数据传输协议并且无重传机制,会发生丢包、收到重复包、乱序等情况。而对于数据精确性要求不高的状态数据以及视频数据,丢包的影响不大。
5 可进行广播
捕获UDP数据包
分析UDP数据包
TCP协议抓包分析
由来、
端口是为TCP协议通信提供服务的端口 1~102 标准端口组, 1024~6555是临时端口组
三次握手、四次挥手。
捕获TCP数据包
用户想要捕获TCP四次断开的数据包时 就需要手动地断开客户端与服务器的链接。
TCP数据包分析
TCP首部
TCP首部格式
分析TCP三次握手
该包大小54字节
以太网帧
源mac a0 目标mac dc:
ipv4
传输层首部的详细信息。
分析TCP的四次断开
ICMP协议概述
ICMP时互联网控制报文协议。 是TCP/IP协议族的一个子协议,用于IP主机、路由器直接传递控制消息。非常容易被用于攻击网络上的路由器和主机。
捕获ICMP协议包
ICMP过滤器。 4个请求包 4个响应包
捕获请求超时的包
执行tracert命令,捕获响应超时的数据包。time to live 64.
捕获目标主机不可到达的数据包
ping一个不存在的主机
ICMP协议首部格式
ICMP请求报文类型、 ICMP响应报文类型、 ICMP协议提供的诊断报文类型。
分析ICMP— Echo Ping 请求包
分析ICMP——Echo Ping响应包
同上。
ICMP请求超时数据包
目标主机不可达的数据包
DHCP数据抓包分析
DHCP是一个局域网的网络协议,是哟个UDP协议工作。
作用: 为互联网上主机提供地址和配置参数。DHCP基于Client/Server工作模式DHCP服务为主机分配IP地址和提供主机配置参数
DHCP工作流程 UDP
1、发现阶段 即DHCP客户端寻找DHCP服务器的阶段。
2、提供阶段 即DHCP服务器提供IP地址的阶段
3、选择阶段 即DHCP客户机选择某台DHCP服务器提供的IP地址阶段。
4、确认阶段 即DHCP确认所提供的IP地址阶段
DHCP数据抓包 BOOTP。
DHCP报文格式
DHCP报文种类
发现数据包
响应数据包
ff::ff广播地址
请求数据包
DNS抓包分析
DNS是一种组织成域层次结构的计算机和网络服务命名系统。
DNS的系统结构
DNS系统解析过程 https://blog.csdn.net/yipiankongbai/article/details/25031461
DNS采用服务器/客户端(C/S方式工作)
捕获DNS数据包
分析DNS数据包
DNS查询数据包
dns查询包
DNS响应数据包
HTTP协议抓包分析
HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。
HTTP工作流程
HTTP是一个无状态的协议。
一次HTTP操作称为一个事务,其工作过程可分为四步:
1)首先客户机与服务器需要建立连接。TCP三次握手与服务器建立连接。
2)TCP建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。
持久连接和非持久连接
1、非持久连接
“非持久连接”的概念
某网页由最基本的 HTML 和10个JPEG 图像构成,10个JPEG 图像文件存放在同一台服务器中。设这个网页的URL为www.server.com/somepath/index.html。如果用户请求该网页并采用“非持久连接”,那么在HTTP 客户(通常是用户浏览器)和服务器之间将发生以下操作:
1. HTTP 客户端初始化一个与服务器主机www.server.com中的HTTP服务器的TCP 连接。服务器使用默认端口80监听来自HTTP客户的建立连接请求。
2. HTTP客户端经由与TCP关联的本地Socket发出一个HTTP请求消息(Request)。这个消息中包含路径名/somepaht/index.html。
3. HTTP服务器经由与TCP关联的本地Socket接收到这个请求消息,再从服务器主机的内存或者硬盘中取出文件/somepath/index.html,经由同一Socket向 HTTP客户端发送包含该文件的响应消息(Response Message)。
4. HTTP服务器通知TCP服务层关闭这个TCP连接;TCP服务层并不立即关闭这个连接,而是在客户收到刚才那个响应消息后才会真正终止这个连接。
5. HTTP客户端经由同一Socket接收这个响应消息(Response Message)。TCP连接随后终止。客户端所收到的消息中封装了客户端所请求的 HTML文件。客户端浏览器从中取出这个文件,加以分析后发现这个文件中还有有10个JPEG对象引用。
6. 对每个引用到的JPEG对象重复步骤1~4。
在持久连接情况下,服务器在发出响应后保持TCP连接继续打开着。同一客户/服务器之间的后续请求和响应可以通过这个连接传递。整个Web页面上,比如 1个基本HTML和10个JPEG对象的页面,可以通过单个的持久TCP连接发送。甚至存放在同一个服务器中的多个Web页面也可以通过单个持久TCP连接发送。
捕获HTTP数据包
使用捕获过滤器tcp
对数据包着色
过滤使用不同方法的http包
导出数据包
颜色标记出该包所在的整个会话 过滤器筛选。
HTTP报文格式 https://www.cnblogs.com/CodingUniversal/p/7524088.html
请求头域
https://www.jb51.net/article/51951.htm
HTTP的头域包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。
通用头部是客户端和服务器都可以使用的头部,可以在客户端、服务器和其他应用程序之间提供一些非常有用的通用功能,如Date头部。
请求头部是请求报文特有的,它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据,如Accept头部。
响应头部便于客户端提供信息,比如,客服端在与哪种类型的服务器进行交互,如Server头部。
实体头部指的是用于应对实体主体部分的头部,比如,可以用实体头部来说明实体主体部分的数据类型,如Content-Type头部。
常见状态代码、状态描述的说明如下。
200 OK:客户端请求成功。
400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
500 Internal Server Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。
分析GET方法的HTTP数据包
分析HTTP请求包
分析 HTTP响应包
http.request.method=="POST"
显示捕获文件的原始内容 linux 安装Xplico
HTTPS协议概述
HTTPS协议是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL
HTTP和HTTPS协议的区别https://www.cnblogs.com/changfengwhy/p/11169421.html
HTTPS是 HTTP+ SSL/TLS两部分组成。
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
HTTPS工作流程
SSL概述 https://blog.csdn.net/baidu_36649389/article/details/53537134
SSL(secure socket lawyer)安全套接字协议是web浏览器与web服务器之间进行安全交换信息的协议,提供两个基本的服务:保密和鉴别。
SSL协议建立过程:
总共包括4个握手协议 1个警告协议 1个记录协议,
捕获HTTPS数据包 https
使用捕获过滤器
客户端发出请求
服务器响应
证书信息
密钥交换
FTP协议抓包分析
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
ftp常用命令
本文链接:https://blog.csdn.net/super_tianxinmomo/article/details/80897727
FTP应答码&响应码
https://blog.csdn.net/cbffyx/article/details/78891603
ftp
电子邮件抓包分析
邮件客户端通常指使用IMAP/POP3/SMTP/APOP/ESMTP协议手法电子邮件的软件