Messaging Over IPv6 Headers 70
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."
C for yourself.
again? (Score:5, Funny)
Re:again? (Score:5, Funny)
Wake me up when it's "nice rack" day.
Re:again? (Score:2)
Re:again? (Score:2, Funny)
Re:again? (Score:2, Interesting)
While IPv6 fixes many problems in IPv4, the developed world will not embrace IPv6 until many shortcomings in the protocol are addressed.
Re:again? (Score:3, Insightful)
As for point 4, you certainly have a point there, but with the MTU discovery in IPv6 (which prevents the (expensive!) fragmentation found in IPv4) you might actually see improvements t
Re:again? (Score:5, Informative)
Point 1 re 'Cisco sucks at IPv6' - do you have any data to back this up? Cisco seem to be doing fine with IPv6 deployments so I don't believe this is a real issue. More recent Cisco routers (7600, 10000, 12000 series) are hardware-based and will do IPv6 in hardware. Those that are software-based will forward IPv6 exactly like the other non-IPv4 protocols they have supported for years (DECnet, SNA, etc) - Cisco started out with multiprotocol routing not just IP. I'd be surprised if there is a big difference in performance - certainly there'll be more memory references with IPv6 addresses, but the IPv6 header (less the addresses) is shorter and simpler than the IPv4 header, so software-based routers may actually go faster on IPv6. Hardware-based routers should go at wire speed, basically.
Point 2 - there are already 1 billion cell phones in the world, and perhaps 30% of those are already IP-enabled. If you add in VoIP phones at home, and the myriad of new devices such as TiVOs, you can easily see how a mere 4 billion addresses is not enough - remember that India and China alone have 2 billion people. NAT is a hack that prevents simple deployment of more complex applications that aren't merely client to server - P2P apps work much more easily without NAT.
Point 3 - routing tables too large. Routing tables won't grow in size as you imply - if anything they are smaller for the true core routers, since IPv6 was designed to scale better using CIDR-like techniques for route aggregation, i.e. only a short prefix is stored and fewer prefixes should be needed. Your proposal for using the Ethernet-style MAC address doesn't work for ADSL, leased lines, and many other non-Ethernet media.
Point 4 - this is true for MTU-sized packets, but of course the host can send larger packets (frequently 1500 bytes or so), reducing this overhead. A 1 to 3 % overhead doesn't sound like much given IPv6's other advantages.
The fact that IPv6 allows stupid hacks like this is irrelevant. IPv6 is going to happen, it's just a question of time - my ADSL ISP already offers IPv6 as a checkbox option at no extra cost.
Re:again? (Score:1)
2. A long time ago somebody said 640K of ram is enough.
3. Not true. Just because the network addresses themselves doubled in size (8 bytes) that still doesn\t mean routing tables will bloat, explode and spiral out of control. The size of a routing table is determined more by how many subnets there are than how large the entry in that table is. They\ll just double in size and we can certainly handle that.
4. I can live with a perform
Re:again? (Score:3, Informative)
I would have ignored this as a troll, but it's been modded "+4 Interesting" so it's probably worth providing some perspective to the points raised..
1. Cisco routers suck at IPv6
Even if true, this can hardly be described as a shortcoming with the protocol (though I agree it might be a problem in its deployment).
2. There are too many addresses
In what way is it a problem to have too many addresses available? It's not compulsory to use them all ;-). Indeed it's necessary to have them, since it's not p
Re:again? (Score:1)
Who cares????????
Just as long as there is one good provider, people can start buying, and others will improve or lose.
2,3 & 4. There are too many addresses.
There is not such thing as too many addresses. There is such thing as too few, and it is called IPv4. NAT is just plain ugly and a dirty hack.
You cannot rely on routers translating packet headers, because networks tend to grow faster than processors.
With IPv6 one of the policies is to improve latency on top of throug
Why not make this broadcast public keys? (Score:5, Interesting)
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!
amusing fact (Score:2, Funny)
Re:amusing fact (Score:2, Informative)
the swiss don't, as a group, speak swedish.
Re:amusing fact (Score:1, Informative)
Re:amusing fact (Score:1, Informative)
Re:amusing fact (Score:1)
(If you're not a Python fan, never mind.)
Re:amusing fact (Score:3, Funny)
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"
Re:amusing fact (Score:2)
Re:amusing fact (Score:1)
Re:amusing fact (Score:2)
Re:amusing fact (Score:1)
> As it does in Romanian!
Well, it also means "suck" in swiss german. But the usage is different, however, you can't translate "that sucks" into "das suugt".
Re:amusing fact (Score:1)
Could save a life... (Score:1, Insightful)
Re:Could save a life... (Score:1)
Nice, that would include the spreadsheet I put together to translate ASCII into a string of x'es and spaces to append to email sign-offs. like:
Love,
Snugglebunny
xx x xx xx xxx xx xx xxx x xxx xx xxx x xx xxx
NB: The above example doesn't mean anything, it's just an example
Evil bit (Score:3, Funny)
And when the system becomes mainstream, and the spammers start sending you messages, will they set the Evil Bit?
IPv6? (Score:2, Funny)
Honesty is the best policy (Score:5, Funny)
Well, at least he's upfront about it :)
Re:Honesty is the best policy (Score:1)
0x00000000000000.............0000.......45AEG6A
by the time you finish typing their IP, you don't even want to talk to them anymore
Re:Honesty is the best policy (Score:1)
I am going to write a IPv4 emulator for IPv6 >:)
Re:Honesty is the best policy (Score:1)
Well, it's not an emulator, but more like a proxy which maps the IPv4 space in IPv6 address space and does automatic proxying, so you can have full v6 nodes on your network, and still access v4 services.
It's called NAT-PT, and you can find its relative RFC here: http://www.ietf.org/rfc/rfc2766.txt
Covert Channel (Score:5, Interesting)
Re:Covert Channel (Score:2)
that would be security through obscurity - which we all know can not be relied on. Now if those messages were also encrypted with 512bit keys, then it would be something, but then you might as well include the message in the actual data part of the packet.
Re:Covert Channel (Score:2)
Security risk, not security.
Re:Covert Channel (Score:5, Insightful)
The point of a covert channel is obscurity. You could add security on top of it, but putting the message into the data part would defeat the whole purpose of the covert channel. You are trying to find some way to get processes/machines/people to communicate within the confines of the operating system, and without anything/anybody else knowing about it.
An simple example? Say all the normal channels for process communication are blocked. No pipes, no sockets, etc. You can't use files. The only thing you can do is monitor the activity of the other process (ie the 'ps' command). By monitoring, say, memory allocation of the other process, two processes could communicate, sending the data byte by byte. Once a byte is sent, the receiving process could increment its memory to confirm. Then the sender increments its memory to send the next byte, etc.
The point of covert channels is that no matter how secure a system appears to be, it is possible for leaks because of things like this (probably more complex).
Re:Covert Channel (Score:4, Interesting)
The german ct magazine had a working hack about a year ago which allowed network io over dsn query headers and could circumvent firewalls. Sounds like this might be pretty much the same problem, and i consider it a rather serious one because io based on such techniques may be slow because the is much more overhead than data per packet, but it *is* working and i don't know of any firewall which could prevent this. please correct me if i'm wrong in this point, of course
Re:Covert Channel (Score:1)
Re:Covert Channel (Score:1)
I'm not.
Re:Covert Channel (Score:3, Insightful)
According to the article: I found the Destination Options header having no use yet. So make it have one
I'm not sure what the standard says about what this field should say. And even if it defines something, another question is what stacks will actually do with this field. Anyway - one way to stop this would be to zero this field on everything going out and comming into the firewall. The problem, of course
Re:Covert Channel (Score:3, Interesting)
Re:Covert Channel (Score:2)
I believe the Politically Correct term you were looking for is 'terrorist'.
No need for destination options (Score:5, Interesting)
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.
Re: Your sig (Score:1)
Re: Your sig (Score:3, Funny)
Re: Your sig (Score:2)
Re:No need for destination options (Score:3, Informative)
you can either do
hping 1.2.3.4 -e your_message_here
or
hping 1.2.3.4 -E file-to-embed
have fun!
Re:No need for destination options (Score:2)
Poll (Score:1)
how about chatting over ping? (Score:5, Informative)
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)
Perfect Hack For MacHack (Score:1)
Big Deal (Score:1, Funny)