Comments (6)
The client automatically tests different encodings when logging in, to find the most efficient way to send data upstream.
See https://github.com/yarrick/iodine/blob/master/src/client.c#L1601
The -O
flag controls downstream codec (server -> client). There is currently no flag for forcing a specific upstream codec.
What do you mean with "I've started the client to not run in binary format." ? I guess raw mode.
from iodine.
The query you see is still a valid DNS query (testing the limits of validation). If raw mode is used then it is just sending the raw packets instead, and the domain name you use will not be included anywhere.
from iodine.
Why do you think that the query is valid if the domain does not meet the domain name standard. To my knowledge characters like ?
and @
are not permitted in a domain name.
from iodine.
Because if it works, transfers from the client to the server will be twice as fast. If you saw these domain names in the server, that means that it worked (or that you have no intermediate servers).
DNS server(s) between the client and the server only need to parse the end of the domain name - they just need enough to find the server to send it to. So the end of the domain name is still valid.
from iodine.
I understand this.
Would it be possible to disable this behaviour and decrease the performance in order to get domains that are "parseble". In the sense that tools like tcpdump might get those domains in a human readable domain names?
The reason I'm asking for this is that I'd like to build a dns tunneling classifier and I'd need some domains for that.
from iodine.
You can still parse domain names. They are encoded with length first, and then that many bytes, then repeat, following jumps for compression and ending when length is zero.
I will not change the code, but you can test with skipping parts of handshake_upenc_autodetect()
in src/client.c
from iodine.
Related Issues (20)
- cringe, remove systemd dependency or make option to build without systemd HOT 1
- Issue and fix for failed systemd startup at boot. HOT 6
- Connectivity errors between two linux machines HOT 1
- can't bring up tunnel through Fedora (36) bind-9.16.27 HOT 7
- iodine fails to find new OpenVPN TAP adapter on Windows HOT 35
- What does "raw UDP login" mean in this project? HOT 1
- I realized some specific hostnames will be blocked by the firewall HOT 1
- iodine connection will not work HOT 1
- Version bump HOT 3
- External IP deduction doesn't work HOT 1
- Raw UDP socket support in macos/ios HOT 56
- Do not panic if not root HOT 1
- Can forward Ip traffic tcp-udp over iodine ? HOT 1
- iodine shutdown HOT 1
- Donated servers? HOT 1
- Simpler DNS ? Or... HOT 3
- lazy-mode doesn't work on cloudflare HOT 2
- Iodine Lc
- Cannot make on Android 12
- Question about project HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iodine.