Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

Internet_Protocol

Internet Protocol 在 InternetProtocolFamily 中提供网络层(第 3 层)传输功能。

本页描述广泛使用的 IP version 4。另有一个 IPv6 protocol 页面可用。

IP protocol 用于将数据包从一个 IP-address 传输到另一个。该层的用户会提供一个数据包和远端 IP 地址,而 IP 负责将该数据包传输到该主机。

IP 会(希望如此)引导数据包沿正确路径到达远端主机。数据传输独立于底层网络硬件(例如 ATM、Ethernet,甚至 SerialLine)。如果底层硬件无法传输所需的最大长度(尤其是在 SerialLine 或 ATM 上),IP 会将数据拆分为多个较小的 IP fragments,并在接收主机处将其重组为完整数据。参见:IP Reassembly、MTU、Segmentation Offload。

当 IP 想在 LAN 上发送数据包时,它必须先将给定的 IP-address 转换为底层硬件地址(例如 Ethernet address)。IP 使用 ARP 进行这种动态转换。在 point-to-point line 上,这显然没有必要,因为某台给定机器只能向一个主机发送数据包。

IP 不提供任何机制来检测 PacketLoss、DuplicatePackets 等情况。

IP 使用 ICMP 将控制消息传输到远端主机,例如“请不要再向我发送更多 IP 数据包,我满了”。著名的 ping 工具也使用 ICMP。

IP 之上的典型协议是 TCP 和 UDP。

IP protocol 的 version 4 在全世界被广泛使用。由于可用 IP-address 范围正在变得紧张,具有更大地址范围的 version 6 如今正变得越来越流行。

History

RFC791 “INTERNET PROTOCOL” 于 1981 年 9 月发布。

Protocol dependencies

  • Ethernet:IP 可以使用 Ethernet 和许多其他协议。分配给 IP 的 Ethernet type 是 0x800。

  • ICMP:IP 使用 ICMP 在主机之间传递控制消息。

Example traffic

XXX - 在此处添加示例流量(以纯文本或 Wireshark 截图形式)。

Wireshark

IP dissector 功能完整。Wireshark 提供了一些高级功能,例如 IP defragmentation。

Preference Settings

  • Decode IPv4 TOS field as DiffServ field:是否应将 IPv4 type-of-service 字段解码为 Differentiated Services 字段(参见 RFC2474/RFC2475)(ip.decode_tos_as_diffserv)

  • Reassemble fragmented IPv4 datagrams:是否应重组 fragmented IPv4 datagrams(ip.defragment)

  • Show IPv4 summary in protocol tree:是否应在 protocol tree 中显示 IPv4 summary 行(ip.summary_in_tree)

  • Validate the IPv4 checksum if possible:是否验证 IPv4 checksum(ip.check_checksum)

  • Support packet-capture from IP TSO-enabled hardware:是否校正来自启用 TSO(TCP segmentation offload)硬件的抓包,例如伪造 IP packet length(ip.tso_support)

  • Enable IPv4 geolocation:是否在已加载的每个 MaxMind database 中查找 IP 地址(ip.use_geoip)

  • Interpret Reserved flag as Security flag (RFC 3514):是否将最初的 reserved flag 解释为 security flag(ip.security_flag)

  • Try heuristic sub-dissectors first:在使用注册到特定端口的 sub-dissector 之前,先尝试使用 heuristic sub-dissector 解码数据包(ip.try_heuristic_first)

  • UDP port(s):IPv4 UDP port(s)(ip.udp.port)(用法参见 36833b76)

Example capture file

XXX - 添加一个简单的示例抓包文件。保持简短,将其 gzip 压缩也是个好主意,因为 Wireshark 可以自动打开 gzipped 文件。

Display Filter

IP display filter 字段的完整列表可在 display filter reference 中找到

仅显示基于 IPv4 的流量(注意:如果使用此过滤器,你将看不到任何 ARP 数据包!):

 ip

仅显示到主机 192.168.0.10 或来自该主机的基于 IP 的流量:

 ip.addr==192.168.0.10

仅显示到子网 192.168.43.0/24 或来自该子网的基于 IP 的流量(/24 是 CIDR notation,表示掩码为 24 个一位的网络地址,即 subnet mask 255.255.255.0):

 ip.addr==192.168.43.0/24

仅显示不是到主机 192.168.0.10 或不是来自该主机的基于 IP 的流量(注意:这与 ip.addr!=192.168.0.10 并不相同):

 !(ip.addr==192.168.0.10)

Capture Filter

仅捕获基于 IPv4 的流量:

 ip

仅捕获到主机 192.168.0.10 或来自该主机的基于 IP 的流量:

 host 192.168.0.10

仅捕获到子网 192.168.43.0/24 或来自该子网的基于 IP 的流量(/24 是 CIDR notation,表示掩码为 24 个一位的网络地址,即 subnet mask 255.255.255.0):

 ip net 192.168.43.0/24

仅捕获不是到主机 192.168.0.10 或不是来自该主机的基于 IP 的流量:

 not host 192.168.0.10
  • RFC791INTERNET PROTOCOL

  • RFC894Transmission of IP Datagrams over Ethernet Networks

  • RFC950Internet Standard Subnetting Procedure

  • RFC1112Host Extensions for IP Multicasting

  • RFC1812Requirements for IP Version 4 Routers === Differentiated Services (replaces Type of Service) ===

  • RFC2474Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers

  • RFC2475An Architecture for Differentiated Services

Discussion

Imported from https://wiki.wireshark.org/Internet_Protocol on 2020-08-11 23:15:08 UTC

原始页面图片

220923_IPv4_Preferences_anno
220923_IPv4_Preferences_anno

相关 Wireshark Wiki 页面

网络分析技术档案