构建 and inspect network packets
Construct raw 网络 packets 为 testing, debugging, 和协议 development. Understand Ethernet, IP, 和 transport 层 encapsulation.
- 1
网络 packet 是 built 通过 encapsulation: 应用数据 → transport 头 (TCP/UDP) → IP 头 → Ethernet 头. 每个层 adds 其头. Ethernet 头 (14 bytes) contains 目标 MAC, 源 MAC, 和 EtherType (0x0800 为 IPv4, 0x86DD 为 IPv6).
- 2 十六进制编码器 →
编码 the packet fields as hex. Build the Ethernet header (dst MAC + src MAC + EtherType), then IP header (version, IHL, TTL, protocol, IPs), then transport header (ports, seq, flags). Concatenate the layers to form the raw packet.
- 3 二进制编码器 →
编码 specific fields in binary for bit-level control. The IP flags (Reserved, DF, MF) are 3 bits. The TCP flags (FIN, SYN, RST, PSH, ACK, URG) are 6 bits. Binary encoding gives precise control over individual flags.
常见问题
- 什么是 encapsulation?
- 每个层 wraps 层以上它. 应用数据是 wrapped 在 TCP 段 (TCP 头 + 数据), 哪个是 wrapped 在 IP packet (IP 头 + TCP 段), 哪个是 wrapped 在 Ethernet 帧 (Ethernet 头 + IP packet + FCS). 每个层 是 independent.
- 为什么构建 raw packets?
- 为网络 testing (验证协议 implementations), 安全 research (craft 特定标志 combinations), debugging (reproduce issues 具有特定 packet patterns), 和学习 (理解 protocols 在字节级别). Tools like Scapy (Python) 和 hping3 是 used 为此.
解决此任务的工作流
Base32 转十六进制
将 Base32 解码并重新编码为十六进制。 管道
Base64 转 Hex
将 Base64 字符串解码为原始字节,再编码为十六进制以便检视或互操作。 管道
二进制转 Hex
将二进制(base-2)字符串解码为字节值,再编码为十六进制。 管道
ChaCha20 加密后十六进制
ChaCha20 加密后十六进制编码密文。 管道
Hex 编码→解码→验证
将文本编码为十六进制再解码回来,验证往返过程完整保留原始数据。 管道
Hex 编码文本并分析
将文本转换为十六进制表示,再对 hex 输出计算字符统计。 管道
Multibase 转十六进制
将 multibase 解码并重新编码为十六进制。 管道
八进制转二进制
将八进制(base-8)数解码为数值,再编码为二进制字符串。 管道
八进制转十六进制
将八进制解码并重新编码为十六进制。 管道
反转文本并显示 Hex 编码
反转字符串再检视其十六进制表示——用于调试字节序问题和编码谜题。 管道
SHA-512 哈希后十六进制编码
计算 SHA-512 哈希后编码为十六进制。 管道
解码 URL 并显示 Hex 字节
百分号解码 URL 编码字符串,再查看其十六进制字节表示以进行底层分析。 管道
为 URL 传输编码文本载荷
百分号编码文本再显示其 hex 表示,用于安全的 URL 参数传输。 管道
XXencode 后十六进制
XXencode 文本后十六进制编码结果。 管道