Messaging Over IPv6 Headers
elias miles writes "A guy from the Swiss Unix Users Group made a cool utility that lets you chat over IPv6 packet headers. Not useful, but it's a nice hack.
Read the article and download joe 6 pack."
← Back to Stories (view on slashdot.org)
What is this, "nice hack" day?
"Come on, let's go drink till we can't feel feelings anymore."
As in the "radio stations" which broadcast some OTP numbers / instructions for spies / whatever, why not make this broadcast public keys of those whom you know along with your normal traffic. Then you could run a modified Joe Sixpack in the background and gather the keys that way.
Or broadcast DNS information (suitably protected), creating a distributed naming service without DNS servers :-)
The motivation behind broadcasting is that if all the rest of the world is against you, your odds are so small that you will lose. But if the bad guys only get like 1 % of the rest of the world, you have a chance of winning. Supermegaprobabilisticexpialidocius!
But does the hack interfere with the Evil Bit(tm)?
And when the system becomes mainstream, and the spammers start sending you messages, will they set the Evil Bit?
Well, at least he's upfront about it :)
Get your own free personal location tracker
> suug (Swiss Unix User Group) means "suuck" in swedish.
;)
As it does in Romanian!
I know this comment is not very useful (unless you're taking up Romanian), but it's a "nice hack"
Must-not-watch TV!
This is known as a covert channel. Depending on what is going on this is useful or a security risk. For example, an employee could smuggle out data from a network possibly under the radar of most IDSes and the eyes of net admins. Replace employee with political prisioner, or spy, or whathave you.
espo
The Joe 6 Pack uses IPv6 destination options to specify a special option that contains the chat message...
The actual IPv6 packet being sent is an ICMPv6 echo-reply packet that seems to contain all nulls.
This makes the destination option seem a bit redundant...
You could implement this using nothing but ICMP (over either IPv4 or IPv6).
In the ICMP echo data, build some kind of header:
(4 bytes) magic identifier, i.e. 0xBAADF00D
(n bytes) message
(4 bytes) CRC-32 checksum of the previous n+4 bytes
The CRC-32 checksum is there to differentiate between "chat-pings" and "real pings".
I started to implement this as a special ping program (so you could do something like ping 1.2.3.4 --msg hi!) and maybe will finish it when I'm less busy.
void*x=(*((void*(*)())&(x=(void*)0xfdeb58)))();
"sonar"
From the description of the Debian package:
Description: console chat via ICMP (ping) echo-request packets sonar implements a peer to peer chat using ICMP (ping) echo-request packets, which means nearly stealth communication between two hosts without a central server.
It has an ncurses-based interface with basic support for multiple windows and chats with different peers. It is a reference implementation for the u23 project of the Chaos Computer Club Cologne (http://koeln.ccc.de)