惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog
S
SegmentFault 最新的问题
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
J
Java Code Geeks
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Network Fingerprinting: Analyzing Default ICMP Structures...
JM00NJ · 2026-06-27 · via DEV Community

Research Context

"In advanced network observability, understanding the default behavior of various operating systems is vital for traffic profiling. This article explores the structural differences in ICMP Echo Requests across different OS environments and analyzes how 'Traffic Mimicry' can be used to evaluate the accuracy of Network Intrusion Detection Systems (NIDS)."

1. The Anatomy of an ICMP Signature

A standard ICMP Echo Request is not just a simple signal; it carries a specific "fingerprint" based on the operating system that generated it. These fingerprints consist of:

Total Packet Size

TTL (Time to Live) values

Default Payload Content

2. Cross-Platform Discrepancies (Linux vs. Windows)

When a system sends a "ping," the default data size ($D$) and the total packet length ($L$) vary significantly between architectures.

Feature Linux (Typical) Windows (Typical)
Data Size ($D$) 56 Bytes 32 Bytes
ICMP Header ($H$) 8 Bytes 8 Bytes
Total ICMP Length ($L$) 64 Bytes 40 Bytes
Default Payload Timestamp + Data abcdefg...

The Linux Signature
In most Linux distributions, the ping utility sends 56 bytes of data. When combined with the 8-byte ICMP header, it totals 64 bytes. A key characteristic of Linux ICMP traffic is that the first few bytes of the payload are often occupied by a high-resolution timestamp, used to calculate RTT (Round Trip Time) with microsecond precision.

The Windows Signature
Windows systems default to a 32-byte data payload. The payload content is static and follows a predictable alphabetical sequence: abcdefghijklmnopqrstuvwabcdefghi. This static nature makes Windows ICMP traffic easily identifiable during deep packet inspection (DPI).

3. The Concept of Traffic Mimicry

Traffic Mimicry is a research method used to test the resilience of network filters. By aligning custom communication protocols with the default signatures of a specific OS, researchers can evaluate whether a security appliance is biased toward certain traffic patterns.

For example, when developing a Remote Management Interface in x64 Assembly, ensuring the payload size ($D$) is exactly 32 bytes or 56 bytes allows the traffic to blend into the "Ambient Noise" of a corporate network.

4. Implementation: Engineering a Mimicry-Aligned Packet Structure

To evaluate the resilience of network monitoring tools, we must construct a packet architecture that adheres strictly to the structural expectations of a standard Linux environment. Below is the assembly-level definition of an ICMP Echo Reply, designed with Structural Alignment in mind.


; --- [MIMICRY UPDATE] UPDATED PACKET ARCHITECTURE ---

; This structure strictly aligns with the 64-byte Linux ICMP Echo signature

icmp_packet:

    type db 0                ; ICMP Type 0 (Echo Reply)

    code db 0                

    checksum dw 0            ; Checksum placeholder

    identifier dw 0          ; Process Identifier

    sequence dw 0            ; Internal signaling sequence



    ; --- MIMICRY PADDING (24 BYTES) ---

    ; Emulates the default timestamp behavior of modern network stacks

    mimicry_ts dq 0          ; 8-byte Dynamic Timestamp (Cycle-accurate timing)



    ; 16-byte Sequential Padding: Replicates standard OS data patterns

    mimicry_seq db 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17

                db 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F



    ; --- DATA TRANSMISSION AREA ---

    payload times 32 db 0    ; 32-byte payload chunk to hit the 64-byte total

    payload_len equ $ - icmp_packet

Analysis of the Structural Logic
Timestamp Emulation (mimicry_ts): Standard Linux ping requests embed an 8-byte timestamp to calculate RTT. By reserving this space and populating it with high-precision timing data (via RDTSC), our custom communication layer avoids the "Empty Payload" signature that often triggers NIDS anomalies.

Sequential Byte Padding (mimicry_seq): Many network filters look for entropy in the payload. By utilizing a fixed, sequential padding (0x10 to 0x1F), we replicate the predictable data structures of kernel-level protocol implementations.

The 64-Byte Structural Boundary: By dedicating 24 bytes to structural emulation and allocating exactly 32 bytes for the data payload, the internal data segment equals the 56-byte Linux standard. When combined with the 8-byte ICMP header, the total packet size is precisely 64 bytes (8 + 24 + 32 = 64). This ensures that the traffic volume remains strictly within the expected "Ambient Noise" threshold.

5. Defensive Implications: Anomaly Detection

From a Blue Team perspective, identifying "Mimicry" requires looking beyond packet size. Advanced detection strategies include:

Entropy Analysis: Monitoring the randomness of the payload.

TTL Consistency: Checking if the TTL value matches the expected OS signature.

Frequency Analysis: Analyzing if the ICMP requests follow the standard interval pattern of a human-initiated ping.

Conclusion

Understanding the "Default State" of network protocols is the first step in advanced system auditing. Mimicry is not just about blending in; it is a critical tool for identifying the limitations of signature-based detection. By mastering the low-level construction of ICMP packets, researchers can develop more robust and observable communication frameworks.

⚠️ Legal Disclaimer

This project is created for educational purposes and security research only. Unauthorized access to computer systems is illegal. The author is not responsible for any misuse of this tool. Operating this tool on networks you do not own is strictly prohibited.

Related