Appearance
Appearance
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 如今正变得越来越流行。
RFC791 “INTERNET PROTOCOL” 于 1981 年 9 月发布。
Ethernet:IP 可以使用 Ethernet 和许多其他协议。分配给 IP 的 Ethernet type 是 0x800。
ICMP:IP 使用 ICMP 在主机之间传递控制消息。
XXX - 在此处添加示例流量(以纯文本或 Wireshark 截图形式)。
IP dissector 功能完整。Wireshark 提供了一些高级功能,例如 IP defragmentation。
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)
XXX - 添加一个简单的示例抓包文件。保持简短,将其 gzip 压缩也是个好主意,因为 Wireshark 可以自动打开 gzipped 文件。
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)仅捕获基于 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.10RFC791INTERNET 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
Imported from https://wiki.wireshark.org/Internet_Protocol on 2020-08-11 23:15:08 UTC