This is the way the app works.

Each session starts with the app collecting two kinds of tests from the server: the first kind looks for blocked ports – see the next post – and the second kind investigates whether packets can travel across the network without being tampered with while underway.

This is tested by sending back and forth packages that are typical of a certain protocol, and then check whether the packet sent is exactly the same as the one received.

Pot tests and packet tests are always combined. Example: for sip telephony, fthe app first checks for blocked port 5060 and then follows up with a sip registration message.

At this moment we test for Skype, SIP, Bittorent and XMPP. Because of its encryption, we did not implement dpi test for Skype. These are the packets we send back and forth for the other protocols.

 

For SIP:

INVITE sip:openinternet@open.internet.nl:55060 SIP/2.0
Via: SIP/2.0/UDP 100.45.7.195;branch=z9hG4bKff9b46fb055c0521cc24024da96cd290
Via: SIP/2.0/UDP 100.45.7.195:55061;branch=z9hG4bK291d90e31a47b225bd0ddff4353e9cc0
From: <sip:100.45.7.195:55061;user=phone>;tag=GR52RWG346-34
To: “openinternet@open.internet.nl” <sip:openinternet@open.internet.nl:55060>
Call-ID: 12013223@100.45.7.195
CSeq: 1 INVITE
Contact: <sip:100.45.7.195:5060>
Content-Type: application/sdp
Content-Length:   229

v=0
o=Clarent 120386 120387 IN IP4100.45.7.196
s=Clarent C5CM
c=IN IP4 100.45.7.196
t=0 0
m=audio 40376 RTP/AVP 8 18 4 0
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:4 G723/8000
a=rtpmap:0 PCMU/8000
a=SendRecv

En in hex formaat, te openen met bijvoorbeeld Wireshark,

For bittorrent:

0003ff3fd0dc0003ff3ed0dc08004500017900e740008006d0570a0a0a160a0a0a17b8cd04149c52b6476f4770195018ff63d25b000067a1aeb639aa4e38c6ed3d4bbe174e9402c8fb1ae42dd19465d63a7e4d55cc26eb258adcd4ea677d3f2f874b7838fd144da60b308b865a28d77299821b002ec914ccb3567e668a26a9f1dfd7167b4025b0178402366da63decfa62e11b560f99344badc287a51234f48fb7e2503c03afc019a1840ad20a17426586dce46e7853261f21f09e5d8395721256bc8314b02913c1a5304519723a790886aa91ddf9225979b913482210ed4aabb38b78adee5fa120063c6b9daeec8a57587765984e209a1d0f37e6725803bca180383412d0f83e2360bb1a2b9a9b5e9f03a3c874ef59b7b35cd116d3f9555dd81e79e1eb100aa732434fa18a9643f59e4058dfbf423fbccc954f719d311dda83684273b90ea06e92df35eb305db54790aefb0d80f0244474b83c059057cbb46d3fb76b05d8370c33d7b0754d767609e7dcbb042ed3425bd945a3b04fb1afbd81dafb0d1fbe0272

 

For XMPP:

494e56495445207369703a6175746f406c6f63616c686f7374205349502f322e300d0a5669613a205349502f322e302f554450203132372e302e302e313a31333736343b6272616e63683d7a39684734624b2d64383735347a2d613836326165306438356462653436392d312d2d2d64383735347a2d3b72706f72740d0a4d61782d466f7277617264733a2037300d0a436f6e746163743a203c7369703a6d617474686577403132372e302e302e313a31333736343e0d0a546f3a20227369703a6175746f406c6f63616c686f7374223c7369703a6175746f406c6f63616c686f73743e0d0a46726f6d3a20224d61747468657720486f6467736f6e223c7369703a6d617474686577406d7874656c65636f6d2e636f6d3e3b7461673d35633763646236380d0a43616c6c2d49443a204e6d4e6859574e684d6a593059324d304f546334595449324d7a677a5a544e6c595452685a544d784e54452e0d0a435365713a203120494e564954450d0a416c6c6f773a20494e564954452c2041434b2c2043414e43454c2c204f5054494f4e532c204259452c2052454645522c204e4f544946592c204d4553534147452c205355425343524942452c20494e464f0d0a436f6e74656e742d547970653a206170706c69636174696f6e2f7364700d0a557365722d4167656e743a206579654265616d2072656c65617365203130313467207374616d702034343934340d0a436f6e74656e742d4c656e6774683a203338390d0a0d0a763d300d0a6f3d2d2037203220494e20495034203139322e3136382e362e3139390d0a733d436f756e74657250617468206579654265616d20312e350d0a633d494e20495034203139322e3136382e362e3139390d0a743d3020300d0a6d3d617564696f203535333036205254502f4156502038203130310d0a613d782d7274702d73657373696f6e2d69643a31304638383437313531384133443033464639323542314631314434354236380d0a613d666d74703a31303120302d31350d0a613d7274706d61703a3130312074656c6570686f6e652d6576656e742f383030300d0a613d73656e64726563760d0a6d3d766964656f203332393736205254502f4156502033340d0a613d782d7274702d73657373696f6e2d69643a35344339314437353237324345323437463444464133343532384343333632340d0a613d666d74703a333420514349463d32204349463d33204d617842523d343532300d0a613d7274706d61703a333420483236332f39303030300d0a613d73656e64726563760d0a

 

De source of the client:

svn checkout http://open-internet-server.googlecode.com/svn/trunk/ open-internet-server-read-only

 

De source of the server side:

svn checkout http://open-internet-server.googlecode.com/svn/trunk/ open-internet-server-read-only

Leave a Reply

Your email address will not be published. Required fields are marked *

*


5 × one =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Recent Comments