skip to content

A partner reports your NAT address hitting their sinkhole at 02:14 — how do you name the internal host?

level: seniorimportance: must knowfreq 57%

answer

  1. the address names a gateway, not a host
  2. ask for the source port
  3. the resolver log sees the forwarder
  4. translation log, then DHCP, then identity
  5. each rung is a different retention

basics

~20 s

A public address and a timestamp identify a NAT gateway, not a host. Reverse it with the firewall's NAT translation log matched on the public source port, then DHCP leases to name the machine and identity logs to name the account.

solid answer

~50 s

Start by getting the source port and their timezone, because port address translation multiplexes hundreds of inside hosts onto one public address and the port is what makes a translation entry unique. Then walk the ladder: the NAT translation or firewall session log maps public address and port at that instant to an inside address and port; DHCP leases or IPAM map that inside address to a machine at that time; identity logs — VPN or 802.1X session, or a console logon record — map the machine to an account. Resolver query logs will not shortcut this: with a central recursive resolver every query's source is the forwarder, so the record confirms the lookup happened and cannot name the client. Finish by stating the limit of what you proved: you have named a host, and if endpoint telemetry survives, a process — not a person.

go deeper

for a junior

Recall that a public address behind port address translation stands for a whole site, and that the NAT translation log is the record that maps it back to an inside address at a given moment.

for a middle

Explain each rung and the log that carries it: translation entry keyed on public port, DHCP lease for the machine, authentication record for the account, endpoint telemetry for the process — and why a central resolver's log shows the forwarder as client.

for a senior

Show the operating judgment: ask for the port and the timezone before searching, search a window rather than an instant, and refuse to name a host on a partial match when the translation logs have already rolled.

for a principal

Own the design consequence. Decide where DNS is logged so client attribution survives, how long translation records are kept against their volume and cost, and what you commit to a partner about how quickly you can attribute a reported address.

## The shape of this problem You did not find this. Somebody else did, and handed you two fields: an external address that belongs to your organisation, and a time. Everything that follows is a chain of record lookups, and the interview is testing whether you know which record carries which link and where the chain usually breaks. ## Why the resolver log does not help The instinct is to search DNS. In a multi-site campus with a central recursive resolver, that instinct fails on a structural detail: **the recursive resolver's query log records the client as whatever last spoke to it.** If sites run local forwarders, every query in the central log has the forwarder's address as its source. The record honestly confirms that the name was looked up, at what time, and how often — and it is incapable of naming the machine that wanted it. The fixes are architectural, not analytical: log queries at the *first* resolver that sees the real client, or collect DNS telemetry on the endpoint itself, where the record can carry the querying process as well as the name. Both are worth raising, but neither retroactively rescues last night's log. ## The attribution ladder Each rung is a different log, with a different owner and a different retention: 1. **Public address + port + time → inside address.** Only the NAT translation log (or firewall session log with pre- and post-translation fields) does this. Port address translation is many-to-one, so at 02:14 a busy pool may hold hundreds of concurrent sessions on the same public address. Without the public source port you are choosing between candidates; with it, the entry is unique. 2. **Inside address + time → machine.** DHCP lease logs or IPAM. Leases move, so the mapping is time-bound; an address that belongs to a laptop at 02:14 may belong to a different one by the time you look. 3. **Machine + time → account.** VPN session records, 802.1X or NAC authentication, or a host logon record. Note what this proves: that a credential was accepted on that machine, not that a particular person was sitting at it. 4. **Machine + time → process.** Endpoint network-connection telemetry is the only surface that can say which executable opened the socket. Where it exists, it is the rung that turns a network report into an investigation. ## Clocks, and why they matter more than people expect The partner's timestamp is in the partner's clock and, unless they said so, possibly not in UTC. A two-minute skew across a busy NAT pool multiplies your candidate set. Ask explicitly for the timezone and the source of their timestamp, and confirm your own exporters and firewalls are NTP-synchronised. Search a window, not an instant, and narrow it with the port rather than by guessing. ## When the chain is broken NAT translation logs are high volume and are frequently retained for days, not months. If the report is older than the retention, say so plainly rather than presenting a partial match as an identification — a wrong host named at this stage propagates into every later step of the investigation and into whatever you tell the partner. Then pivot: proxy logs may hold the client address and the authenticated user for the same period; endpoint telemetry may still hold the connection; the destination address or name may be searchable in whatever surfaces do have the retention. And record the retention gap as a finding, because the next report will land the same way. ## Stating the conclusion honestly The report told you a connection was observed from an address you own. After the ladder, the strongest defensible claim is typically: "the translation log maps that public address and port at 02:14:0x to inside host 10.x.y.z, which DHCP shows leased to laptop ABC, on which account jdoe held an active session." Each clause names its source. What you have not shown is intent, a person at the keyboard, or what crossed the connection — the sinkhole report may itself be the result of a malicious process, a browser extension, a security tool, or a research VM someone runs deliberately. Naming the host is the beginning of the investigation, not the verdict.

  • They gave an IP and a time but no source port. What do you ask for, and why?
    The public source port, plus their timezone and how their clock is synchronised. Port address translation multiplexes many inside hosts onto one public address, so an address and a second can match many concurrent sessions; the port is what makes the translation entry unique. Timezone and skew set how wide a window you must search, and a two-minute error can multiply the candidate list.
  • Your NAT translation logs are kept 24 hours and the report is five days old. What now?
    Say plainly that the record which would have named the host is gone, rather than presenting a partial match as an identification. Pivot to surfaces that still cover the period: proxy logs with client address and user, endpoint network telemetry, resolver logs if you know the name, and asset inventory for hosts that could reach that path. Then raise the retention gap as a finding in its own right.
  • You reach the host and the account. What have you actually proved?
    That a connection left that machine while that account had a session — nothing about intent and nothing about content. The sinkhole report proves the destination was contacted, not what was sent. The next step is endpoint telemetry to name the process, because a browser extension, a security tool and an implant all produce the same network record.

saying these in an interview costs you the question

  • Says the resolver log's source address identifies the client
  • Names a person from an address and a timestamp
  • Ignores the source port when reversing port address translation
  • Assumes both organisations' clocks agree to the second
  • Presents a partial match as an identification once logs have rolled

context