Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is this using udp or tcp? possible to force it to use tcp? #4

Open
hiqsociety opened this issue Sep 29, 2023 · 1 comment
Open

is this using udp or tcp? possible to force it to use tcp? #4

hiqsociety opened this issue Sep 29, 2023 · 1 comment

Comments

@hiqsociety
Copy link

is this using udp or tcp? possible to force it to use tcp?

@greenstatic
Copy link
Owner

It uses UDP over IPv4/6. The choice of using UDP was also so that an attacker could not probe a system to identify that the OpenSPA service is running. Using TCP would reveal that a service is listening on a port, even if the service would not send any data back. However it is not uncommon that in certain networks, the use of UDP is restricted to known protocols (e.g. DNS) in which case using TCP would circumvent such issues.

As far as the project is concerned, you could implement TCP support. From the top of my head there are no application layer limitations. You would essentially just need to refactor the transport layer of this project. With the ADK feature it gets a bit more complicated. The basic implementation which is implemented in userspace should work ootb. The XDP extension of ADK means that the ADK feature is implemented in eBPF/XDP. The XDP ADK implementation would need some work in order to support TCP. However the ADK feature is completely optional and the userspace implementation is already a great improvement over no-ADK feature enabled.

You can read a bit more about it in my thesis: https://repozitorij.uni-lj.si/IzpisGradiva.php?id=142965&lang=eng

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants