Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #7228

Closed
Open
Created Oct 26, 2012 by Arturo Filasto@art

Detect if the client is behind NAT

In #6074 (closed) we thought that it would be nice to be able to detect if the client running an OONI-probe test is behind NAT.

Doing some very summary research a possible approach is detailed in RFC3947 (http://www.ietf.org/rfc/rfc3947.txt) section 3.2. The idea is that the client and server send the packets they send and receive. If there is a mismatch between these then somewhere along the path either the DST/SRC ip:port pair has changed and then NAT is present.

This should be implemented in both the OONI client and the OONI backend.

A technique that does not require having a backend would be ideal.

Phrack #63 (moved) contains a technique for detecting NAT based on TCP timestamp fingerprints: http://www.phrack.org/issues.html?id=3&issue=63

A tool that probably is not that relevant is masquet http://toxygen.net/misc/. It detects devices that may be natted on the local network based on the TTLs of packets and port numbers.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking