Code Monkey home page Code Monkey logo

Comments (10)

Gandalf- avatar Gandalf- commented on May 22, 2024 2

On server startup the user could specify a pre-shared key or password and we have the client send the password as the first message to the server. Everything is plain text, so it could be sniffed, but not anyone could use the server anymore just by knowing the server IP + port.

from icmptunnel.

stoofz avatar stoofz commented on May 22, 2024

agreed

from icmptunnel.

DhavalKapil avatar DhavalKapil commented on May 22, 2024

+1 for pre-shared key/password. I'm also planning to add encryption, that is, when I get some time for this.

from icmptunnel.

Gandalf- avatar Gandalf- commented on May 22, 2024

In that case it probably makes more sense to use TLS with a client certificate. That'll provide encryption and authentication that can't be sniffed since it uses a DH handshake.

Have there been any problems with reliability? The handshake could be difficult to complete over ICMP since it's unreliable like UDP.

Also, is a session defined by a client IP?

from icmptunnel.

rofl0r avatar rofl0r commented on May 22, 2024

rather than going for an overkill solution like TLS (which will be hard to implement with icmp packet size!) i'd rather go for something based on djb's tweetnacl crypto primitives, which fit in a single, small .c file.
( https://tweetnacl.cr.yp.to/ )

from icmptunnel.

DhavalKapil avatar DhavalKapil commented on May 22, 2024

@Gandalf- If the client and server are accessible within the same LAN network, the connection can be assumed to be reliable. Cannot say much for connections over the internet. And yes TLS with client certificate might be too much for icmptunnel.

from icmptunnel.

Gandalf- avatar Gandalf- commented on May 22, 2024

I hadn't heard about tweetnacl; it does look like a good option. Is there already a fork or branch working on this?

from icmptunnel.

greg5678 avatar greg5678 commented on May 22, 2024

So @DhavalKapil have you have a change to add some form of authentication?

from icmptunnel.

DhavalKapil avatar DhavalKapil commented on May 22, 2024

@greg5678 Not yet

from icmptunnel.

wangyu- avatar wangyu- commented on May 22, 2024

@rofl0r
if you need a solution with authentication and encryption ,you can try my repo:
https://github.com/wangyu-/udp2raw-tunnel
https://github.com/wangyu-/udp2raw-tunnel#tunneling-any-traffic-via-raw-traffic-by-using-udp2raw-openvpn

from icmptunnel.

Related Issues (20)

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.