Giter VIP home page Giter VIP logo

uva-rp2's Introduction

SOCKS over TURN

UvA / SNE/OS3 / RP2

License

ToDo

  • read RFCs
  • find TURN libraries
  • setup coturn
  • find http/socks libraries
  • questions / scope
  • write proposal
  • evaluate coturn turnutils
  • implement rfc6062
  • identify TURN servers
  • presentation1
  • report
  • presentation2

https://medium.com/tenable-techblog/using-webrtc-ice-servers-for-port-scanning-in-chrome-ce17b19dd474

Basics

Keywords

  • ICE: complete framework for NAT traversal
  • STUN (RFC 5389): request / response of reflexive transport address (public host:port of client after NAT)
  • TURN (RFC 5766): relay data when direct p2p is unavailable
  • TURN Allocation: port on server for use by client, 10min refresh
  • TURN Permissions: server allowed peer, 5min refresh
  • TURN Send/Data: basic send/recv
  • TURN Channel: low overhead version of Send/Data, 10min refresh
  • TURN TCP: uses separate control / data connections for tcp, same refresh

Concepts

  • client uses STUN to find it's publicly reachable address from a STUN server
  • client uses TURN to request an Allocation on a TURN server (with authentication)
  • client keeps the allocation using Refresh (default 10min), and deletes when done (Refresh 0s)

Resources

RFC

key: important, obseleted

  • 1928 SOCKS Protocol Version 5
  • 3264 An Offer/Answer Model with the Session Description Protocol (SDP)
  • 3489 STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)
  • 4566 SDP: Session Description Protocol
  • 5128 State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)
  • 5245 Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols
  • 5389 Session Traversal Utilities for NAT (STUN)
  • 5766 Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
  • 5769 Test Vectors for Session Traversal Utilities for NAT (STUN)
  • 5780 NAT Behavior Discovery Using Session Traversal Utilities for NAT (STUN)
  • 5928 Traversal Using Relays around NAT (TURN) Resolution Mechanism
  • 6062 Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations
  • 6544 TCP Candidates with Interactive Connectivity Establishment (ICE)
  • 7065 Traversal Using Relays around NAT (TURN) Uniform Resource Identifiers
  • 7350 Datagram Transport Layer Security (DTLS) as Transport for Session Traversal Utilities for NAT (STUN)
  • 7376 Problems with Session Traversal Utilities for NAT (STUN) Long-Term Authentication for Traversal Using Relays around NAT (TURN)
  • 8155 Traversal Using Relays around NAT (TURN) Server Auto Discovery
  • 8445 Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal

drafts

Libraries

STUN / TURN

Proxies

Notes

uva-rp2's People

Contributors

seankhliao avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.