Tcp

TCP全称传输控制协议,必须对数据的传输进行控制

tcp连接三次握手:

(第一次握手syn=1,第二次syn=1 ack=1,第三次ack=1)

wireshark如何使用Mac地址扫描 wireshark看mac地址_IP

tcp.flags.syn1 and tcp.flags.ack0表示筛选出由本机发送的请求并且通信协议是tcp其中的flags表示数据包头部中的特定位或字段

在 TCP 协议中,常见的标志位包括:

  1. SYN(同步):用于发起连接,表示请求建立连接。
  2. ACK(确认):用于确认数据包的接收,表示已收到数据包。
  3. FIN(结束):用于关闭连接,表示不再发送数据。
  4. RST(复位):用于重置连接,表示连接异常或被拒绝。
  5. PSH(推送):用于立即传送数据,表示应用层数据应立即传输而不缓存。
  6. URG(紧急):表示数据包中有紧急数据,需要优先处理。

具体如图:

第一次握手:

wireshark如何使用Mac地址扫描 wireshark看mac地址_网络设备_02

第二次握手:

wireshark如何使用Mac地址扫描 wireshark看mac地址_IP_03

第三次握手:

wireshark如何使用Mac地址扫描 wireshark看mac地址_udp_04

我们可以在流量图中很形象的看到三次握手 具体操作如图:

wireshark如何使用Mac地址扫描 wireshark看mac地址_网络设备_05

流量图如图:

wireshark如何使用Mac地址扫描 wireshark看mac地址_IP_06

找到正确的流量指向方法:(可以依据目标ip、端口和源ip、端口即可)

tcp连接断开四次挥手

原理如图:

wireshark如何使用Mac地址扫描 wireshark看mac地址_udp_07

wireshark如何使用Mac地址扫描 wireshark看mac地址_IP_08

相关数据:

wireshark如何使用Mac地址扫描 wireshark看mac地址_udp_09

第一次挥手:

wireshark如何使用Mac地址扫描 wireshark看mac地址_udp_10

第二次:

wireshark如何使用Mac地址扫描 wireshark看mac地址_udp_11

第三次:

wireshark如何使用Mac地址扫描 wireshark看mac地址_wireshark_12

第四次:

wireshark如何使用Mac地址扫描 wireshark看mac地址_网络设备_13

关于在wireshark中的相关过滤的操作:

tcp.flags.syn==1 and tcp.flags.ack==0可以找到三次握手(根据三次握手的信息不同即可做出区分)

ip.src_host==127.0.0.1(可以找到指定ip所发送的请求)

ip.dst_host==202.108.22.5(可以找到数据所发送到的地方)

二者可以通过or或者and来连用

如图:

wireshark如何使用Mac地址扫描 wireshark看mac地址_IP_14

ip.addr==127.0.0.1(此命令可以把ip为127.0.0.1的全部显示出来)

ARP协议

地址解析协议ARP(Address Resolution Protocol)

分类:普通ARP、反向ARP(RARP)、免费ARP和代理ARP

网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的

根据IP地址获取物理地址一个TCP/IP协议

这句话的意思是**(根据IP地址获取物理地址一个TCP/IP协议"的意思是指通过使用 TCP/IP 协议来查询某个设备的 IP 地址,然后利用这个 IP 地址去获取相应设备的物理地址(即 MAC 地址)。这个过程通常通过 ARP(地址解析协议)来实现,ARP 会将 IP 地址映射到对应的 MAC 地址)**

根据 IP 地址获取物理地址的过程涉及到 TCP/IP 模型中的多个层面:

  1. 物理层:物理层定义了数据传输的物理媒介和信号传输的规范。尽管获取物理地址的过程通常不直接涉及物理层,但是在实际数据传输中,通过物理层的传输媒介,如网线、无线信号等,才能确保数据帧从源设备传输到目标设备。
  2. 数据链路层:数据链路层负责将数据帧从一个网络设备传输到相邻的网络设备。在这个层面上,每个网络设备都有一个唯一的物理地址,即 MAC 地址。ARP 协议在数据链路层上实现,用于将 IP 地址映射到对应的 MAC 地址,以便进行数据帧的传输。
  3. 网络层:网络层使用 IP 地址来唯一标识网络中的设备,并负责数据包的路由和转发。获取物理地址的过程中,首先需要查询目标设备的 IP 地址,然后通过 ARP 协议将该 IP 地址映射到相应的 MAC 地址,以确定数据帧的接收者。
  4. 应用层:尽管获取物理地址的过程通常不涉及应用层,但某些应用程序可能会利用网络信息(如 IP 地址)来实现特定功能,例如网络发现或远程管理。

根据 IP 地址获取物理地址的过程涉及到 TCP/IP 模型中的多个层面,包括物理层、数据链路层、网络层和在某些情况下可能涉及的应用层

根据 IP 地址获取物理地址的过程不涉及传输层因为输层主要负责从发送端到接收端的数据传输和通信

一个数据包的传输流程如下:
  1. 应用层:数据包从应用程序生成,该层负责应用程序与网络的通信。例如,HTTP、FTP、SMTP 等协议运行在应用层。
  2. 传输层:传输层负责提供端到端的通信服务。例如,TCP 和 UDP 协议运行在传输层,它们将数据分割成数据段,并添加相应的头部信息。
  3. 网络层:网络层负责将数据包从源主机传输到目标主机。在这个过程中,数据包被封装成 IP 数据包,并添加相应的 IP 头部信息。“路由器”等网络设备在网络层进行路由和转发。
  4. 数据链路层:数据链路层负责将数据包从一个网络设备传输到相邻的网络设备。在这个过程中,数据包被封装成帧,并添加相应的数据链路层头部信息。“交换机、网桥”等网络设备在数据链路层进行数据帧的转发。
  5. 物理层:物理层负责定义物理连接和传输介质的特性,例如电压、频率等。在这个层面上,数据被转换成比特流,并通过物理介质传输。

所以,在一个数据包的传输过程中,并不是所有的层都被逐一经过。例如,当两台主机在同一局域网中进行通信时,数据包可能只经过数据链路层和物理层,而不经过网络层和传输层。而在跨越多个网络进行通信时,数据包则会经过更多的层次。

在wireshark上操作

查看arp协议 建议可以先去随便ping一下这样比较方便的去看出网关和本机的交互过程

再看之前需要先去分清本地ip和网关ip

如图:(因为我在这里抓的是WLAN的包所以选择去查看WLAN分发的ip)

wireshark如何使用Mac地址扫描 wireshark看mac地址_网络设备_15

然后如图:

wireshark如何使用Mac地址扫描 wireshark看mac地址_wireshark_16

第一行:

  • Frame 13663: 这是数据包的编号,表示网络捕获工具捕获的第13663个数据包。
  • 60 bytes on wire (480 bits): 数据包在网络上传输时的大小,以字节和位表示。
  • 60 bytes captured (480 bits): 实际捕获到的数据包大小,以字节和位表示。
  • on interface \Device\NPF_{7921C416-3C04-48A7-8126-1736AC2C8BE7}: 数据包捕获时所使用的网络接口,这里是一个设备标识符。
  • id 0: 数据包的标识符,通常用于唯一标识捕获到的每个数据包

上图中的ARP部分如下:

wireshark如何使用Mac地址扫描 wireshark看mac地址_网络设备_17

  • Hardware type(硬件类型): 指定硬件类型,这里是以太网(Ethernet)。
  • Protocol type(协议类型): 指定网络层协议类型,这里是IPv4。
  • Hardware size(硬件地址长度): 指定硬件地址的长度,这里是6个字节也就是48位(以太网地址的长度)。
  • Protocol size(协议地址长度): 指定协议地址的长度,这里是4个字节(IPv4地址的长度)。
  • Opcode(操作码): 指定ARP消息类型,这里是请求(request)。
  • Sender MAC address(发送者MAC地址): 指定发送ARP请求的设备的MAC地址,这里是 FiberhomeTel_2e:2d:40(68🇩🇪ce:2e:2d:40)。
  • Sender IP address(发送者IP地址): 指定发送ARP请求的设备的IPv4地址,这里是192.168.1.1。
  • Target MAC address(目标MAC地址): 指定要解析MAC地址的设备的MAC地址,这里是未知,表示正在请求目标设备的MAC地址。
  • Target IP address(目标IP地址): 指定要解析MAC地址的设备的IPv4地址,这里是192.168.0.159,表示正在请求该IP地址对应的设备的MAC地址。

这个过程表示的是网关在向本机请求mac地址的过程 其中192.168.0.159是本机ip

192.168.1.1是网关ip

以上是网关的请求(request)包 下面是本机的响应(reply)包

wireshark如何使用Mac地址扫描 wireshark看mac地址_IP_18

从arp中可得出本机返回到网关中的数据包中含有本机的mac地址

wireshark之ICMP协议

ICMP(Internet Control Message Protocol,互联网控制消息协议)是用于在IP网络中发送错误报告和操作消息的协议

它可以帮助网络设备进行错误报告、连通性测试和路由器通知,从而确保网络的正常运行。它是TCP/IP协议族的一部分,通常用于网络设备之间的通信。以下是 ICMP 协议的一些重要特点:

  1. 错误报告:ICMP用于发送各种类型的错误报告,例如目标不可达、超时等。当路由器或主机在传输数据时遇到问题时,会向源发送ICMP错误报告。
  2. Ping测试:ICMP还用于执行ping测试,即向目标主机发送一个ICMP回显请求(Echo Request),然后接收目标主机发送的回显回复(Echo Reply)。这种测试通常用于确定网络连接的连通性和延迟。
  3. 路由器通知:ICMP也可以用于向网络中的设备发送路由器通知。例如,当一个路由器重新启动或一个网络出现故障时,它可以发送ICMP通知,通知其他设备发生了什么情况。
  4. 消息类型:ICMP消息分为多种类型,包括错误消息和查询消息。错误消息用于指示发生了某种错误,而查询消息用于向其他设备发出请求或回复。
  5. 轻量级:ICMP是一个轻量级的协议,通常不需要建立连接就可以发送消息,因此它对网络开销很小。

如果想去瞅瞅icmp数据包长啥样我们可以去尝试直接ping个东西即可比如ping一下网关 不知道网关ip的话可以去在终端直接去ipconfig一下

如图: