Characterizing an Anomalous ip_probe

This document records what the project expects to see, before it looks.

The observed characterization lives in the records, one per site, dated, with the evidence that produced the verdict.

The Problem

Phase 3 asked 49,572 addresses that no operator holds one HTTP question. Ninety-nine of them answered.

An answer is not an explanation. An address in space that no registry hands to anyone may answer for four quite different reasons, and the difference matters more than the answer.

The project admits four explanations.

The Four Explanations

1. Curious. Other folk running the inverse exercise: looking for connections with no obvious purpose, in the same spirit as this project. They want to be found, or at least they do not mind. Their work is deliberate, self-explanatory, and stable.

2. Incidental. The address responds through an accident of configuration: a default virtual host, a hosting panel’s parked page, a router answering on a range nobody meant to route, a registry record that went stale while the range was quietly transferred, or a mis-announcement. Nobody chose this address. Nothing is being said.

3. Nefarious. Local folk who need to hide: command-and-control infrastructure, spam or proxy endpoints, a range used without permission because attribution is hard there. They will imitate group 1 or group 2 when noticed, which is why a convincing default page is not evidence of innocence.

4. Other. Not local folk. This explanation is admissible, and it is the reason the project exists.

Nothing is expected of it (owner, 2026-09-11). The project keeps no list of signatures to look for, because nobody knows what would be there to find; holding a pattern in advance would be inventing the answer. An earlier draft of this document did list four supposed signatures — light-speed latency, an answer to a challenge generated after the run, content with no human provenance, and identical behaviour across unrelated registries — and the owner rejected that, correctly: they are guesses dressed as criteria, and each one invites reading a coincidence as a conclusion.

What the project can do instead is eliminate. Every test that rules an Earth-bound reading in or out narrows the space: distance by the light-speed floor, identity by certificates and reverse DNS, origin by the routing layer, custody by the registry. A case that survives all of them and still resists explanation is recorded as unexplained, with the measurement that is missing named. That is the honest end state, and it is where the fourth explanation has to live until something arrives that fits nothing else.

Where To Look

Two theories place the search, and they are not equally cheap.

Theory one: unexpected response in unallocated space. The addresses no operator holds, where nothing is supposed to answer at all. This is the phase 3 result already in hand: 99 answers, 6 refusals, 1 reset, and 582 of 584 blocks silent. It is the obvious place, and it is small enough to characterize properly. This is phase 4.

Theory two: rogue ip_probe inside operator-held blocks. An address inside a block that some operator holds normally answers because a normal service lives there. The interesting case is narrower: an address that answers while its surroundings say it should not, or that the registry’s own object does not cover. A rogue host hides best in a large block, where the owner cannot know every address. This theory is a test rather than a survey, and it is deferred to phase 5 until the characterization criteria are trusted.

Expected Characterization

Motive Expected signature What would confirm it The trap
1 Curious To be found, or to watch who looks A range that answers, not a pattern: the probes fell inside a block the other party already monitors. Deliberate, self-explanatory where they choose to speak, uniform across their range, stable between passes; a named certificate Content that explains its own purpose or engages the pattern; identical answers from every address in the monitored range; evidence of awareness that the range is being probed Expecting the exercise to show in the address pattern. A monitoring party answers its whole range, which looks exactly like an ordinary host
2 Incidental None Default and catch-all artifacts; only part of the block answers; a boundary or an announcement explains it Any Host header gets the same answer; a default-page fingerprint; a certificate naming an unrelated domain; reverse DNS pointing at a hosting provider; the live range matching an allocation boundary A stale registry record looks exactly like an accident, and is a different story
3 Nefarious To hide Mimicry of 1 or 2, with the layers disagreeing; behaviour that changes between passes The application claims one identity while certificate, reverse DNS, or registry origin claim another; refusals and resets instead of answers; answering only under some probe patterns; hosting where no registry owner exists Assuming concealment where a configuration accident would do; and assuming innocence because the page looks official
4 Other Unknown None. No signature is expected and none is assumed; the category is what remains once the other three are ruled out Nothing in the way of a pattern. What moves a case here is surviving every Earth-bound reading, with a measurement nobody can reproduce Reading an unexplained feature as this explanation. Every hoax, and every measurement error, arrives here first

The Discriminating Tests

The tests are ordered by how much they discriminate per unit of effort.

Light-Speed Signatures

Distance is the cheapest hard fact the project has, because light takes time and nothing beats it. The comparison below is a falsifier: it rules a distance out, and it never announces what a case is. It is here because it eliminates, not because a light-speed latency is expected of the fourth explanation — nothing is expected of it (see above).

Where the responder is Distance One round trip at the speed of light
Low Earth orbit 400–2,000 km 3–13 ms
Geosynchronous orbit 35,786 km 239 ms
The Moon 384,400 km 2,564 ms
Sun–Earth L2 1.5 million km 10.0 s

Scope (owner decision, 2026-09-11). Distances much beyond L2 and the Moon are out of scope: the project is not searching for latency that would imply Mars or deeper space. L2 is the outer bound of interest.

Measure one round trip, not one request. A TCP connect completes in one round trip; a full HTTP exchange costs two. A responder at lunar distance would finish a connect in 2.6 seconds and a GET in 5.1 seconds, so a pass that times whole requests with a three-second budget cannot see the Moon even when it is talking to it. The connect measurement is the one that counts.

Take the minimum of several samples. Jitter only ever adds, so the smallest of many round trips is the best available estimate of the propagation floor. Three samples is a start; a candidate deserves more.

A floor below the quantum rules the distance out. This is the rigorous half of the test, and it is free. If the best round trip to a responder is 80 ms, it is not on the Moon, and no amount of strangeness in the page changes that.

A floor on the quantum is a candidate, not a signature. Ordinary long-haul terrestrial paths sit in the geosynchronous band, so the band alone decides nothing. Three further conditions must hold together:

A timeout is not evidence of absence. Anything beyond the budget — L2 at ten seconds, and anything slower — is recorded as a timeout, which is exactly what a blackhole records. Every pass must state its budget so the blind spot is visible. Since L2 is the outer bound of interest, a pass that wants to cover it needs a wait of about eleven seconds.

Choose the budget so the quantum of interest falls inside it. The budget decides which distances are testable rather than merely unobserved. A five-second connect budget puts the lunar floor inside the window, so a silent address is then evidence against the Moon, where a three-second budget covering only whole requests would have left it ambiguous.

The confounders. Anycast and CDN place many servers that can look location-independent; satellite internet puts ordinary users behind a geosynchronous hop; and a long path through a congested transit network can imitate both jitter and distance. Any of those is more likely than the fourth explanation, and each is testable.

The Isolation Test: The Strongest Hint

Owner hypothesis, 2026-09-11. The strongest hint of all is an ip_probe that responds while the two addresses immediately beside it do not.

The reasoning is about addressing rather than ranging. A service that covers a prefix lights its whole range: an operator’s host, a stale registry record, a monitoring party watching a block, all look the same from outside because they all answer the neighbours. A single address lit between two dark ones is different in kind: something was put on that address, on purpose, and nothing was put on the addresses either side.

That is the shape a post office would have. It is also the shape of an accident, so the mundane readings come first:

Mundane reading How to tell it apart
A single-address assignment (/32, or one address out of a larger block handed to a customer) The registry object: RDAP may show a /32 or a small assignment, and the block around it may be reserved or unassigned
A virtual address on a load balancer, NAT, or anycast Ask twice: a VIP or anycast endpoint usually answers from more than one place, and a second vantage point sees a different floor
A host with a firewall rule that admits our probe and drops the rest Change something small: a different port, a different Host, a different time. A rule written for one probe pattern keeps answering that pattern only
A neighbour that is dark now but answers later Repeat the pass. Isolation that flickers is scheduling; isolation that persists is addressing
A probe artefact: the neighbour is routed differently, or it is in another operator’s block Look at the block boundary, and at who announces each of the three addresses

The test is cheap and sharp, and it is now the project’s first filter. It costs two extra probes per responder, and it divides a long list of “something answered” into the small set of “something was placed here”, which is the set worth an awareness test.

Note what it does not do: it does not separate the four explanations by itself. An isolated responder may still be an ordinary single-address service, and it may be a curious party’s post. It says where to look, not what is there.

The Traps

The Decision Procedure

  1. Gather the evidence: the probe battery, in one pass, with controls and with the two immediate neighbours of every responder.
  2. Filter for addressing: does the responder answer alone, with both immediate neighbours silent? Those are the candidates worth the rest of this procedure. Everything that answers its neighbours is a range, and a range is an operator, a stale record, or a watching party — three readings the remaining tests cannot separate.
  3. Rule out the incumbent shape: a range that answers is ordinary; a single lit address needs the mundane readings from the isolation table ruled out one by one.
  4. Test deliberation: content that explains itself, answers that vary by address rather than repeating one page, or any sign of awareness of the probing. That points to group 1.
  5. Test concealment: do the layers disagree, does the behaviour change between passes, is the answer a refusal rather than a page? That points to group 3.
  6. Eliminate what can be eliminated: distance with the light-speed floor, identity with certificates and reverse DNS, origin with the routing layer, custody with the registry. Do not hunt for a pattern; there is none to expect for the fourth explanation, and a pattern found in the data is a coincidence until it is a measurement.
  7. Otherwise record unexplained, and name the measurement that is missing.

How It Is Recorded

Open Questions