NAT Traffic Analysis

A comparison of inside and outside packet captures showing how NAT rewrites headers while preserving application-layer content.

Overview

The NAT lab used two captures of the same HTTP exchange: one from the private LAN side and one from the outside-facing side of the NAT router. Comparing the two views shows which fields are translated and which remain stable.

Objective

Identify the inside client, compare the translated outside address, inspect TCP port behavior, and verify whether HTTP content changes during NAT traversal.

Environment / Scenario

Inside client192.168.10.11
Outside NAT address10.0.1.254
Remote server138.76.29.8
ApplicationHTTP over TCP port 80

What I Investigated

Key Observations

Annotated Screenshots

Inside NAT capture of HTTP GET
Wireshark inside capture showing the private client 192.168.10.11 sending an HTTP GET to 138.76.29.8 using TCP source port 53924 and destination port 80.
Outside NAT capture of HTTP GET
Wireshark outside capture showing the same request after translation. The source IP is now 10.0.1.254, while the remote destination and HTTP request remain consistent.
Inside NAT IP header
This inside frame highlights the original IP header values, including source 192.168.10.11, destination 138.76.29.8, and the original checksum for the inside packet.
Outside NAT IP header
This outside frame shows the translated source IP 10.0.1.254 and a recalculated checksum. The HTTP data is still present at the application layer.

Why It Matters for Troubleshooting

NAT can make a connection look different depending on where the capture is taken. Comparing inside and outside views helps confirm whether traffic is being translated correctly, whether replies can map back to the original client, and whether the failure is caused by addressing, ports, routing, filtering, or the application itself.

Key Takeaways