#include #include #include #include #include #include #include #include #include #include char buf1[] = "GET / HTTP/1.1\r\nHost: foo\r\nUpgrade: IF-T/TLS 1.0\r\nConnection: Upgrade\r\n\r\n"; char buf2[] = { 0x00, 0x00, 0x55, 0x97, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01 }; char buf3[] = { 0x00, 0x00, 0x55, 0x97, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x4c, 0x01, 0x02, 0x01, 0x00, 0x0e, 0x01, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73 }; char buf4[] = { 0x00, 0x00, 0x55, 0x97, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x00, // |..U.............| 0x00, 0x0a, 0x4c, 0x01, 0x02, 0x02, 0x00, 0xd0, 0xfe, 0x00, 0x0a, 0x4c, 0x00, 0x00, 0x00, 0x01, // |..L........L....| // 0x00, 0x00, 0x0d, 0x49, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x05, 0x83, 0x00, 0x00, 0x00, 0x01, // |...I............| // 0xd49 = 00000001 // 0x00, 0x00, 0x0d, 0x61, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x05, 0x83, 0x00, 0x00, 0x00, 0x00, // |...a............| // 0xd61 = 00000000 // 0x00, 0x00, 0x0d, 0x5e, 0x80, 0x00, 0x00, 0x11, 0x00, 0x00, 0x05, 0x83, 'L', 'i', 'n', 'u', 'x',0,0,0, //0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x00, // 0xd53 = "Windows" 0x00, 0x00, 0x0d, 0x70, 0x80, 0x00, 0x00, 0x17, 0x00, 0x00, 0x05, 0x83, // |ows....p.../....| 'O', 'p', 'e', 'n', 'c', 'o', 'n', 'n', 'e', 'c', 't', 0, // 0x4a, 0x75, 0x6e, 0x6f, 0x73, 0x2d, 0x50, 0x75, 0x6c, 0x73, 0x65, 0x2f, 0x38, 0x2e, 0x30, 0x2e, // |Junos-Pulse/8.0.| // 0x38, 0x2e, 0x35, 0x32, 0x32, 0x31, 0x35, 0x20, 0x28, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, // |8.0x52,0x21,5 (Windows| // 0x20, 0x37, 0x29, 0x00, // 0xd70 = "Junos-Pulse/8.0.8.52215 (Windows)" 0x00, 0x00, 0x0d, 0x53, 0x80, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x05, 0x83, 0x37, 0x38, 0x39, 0x36, 0x36, 0x33, 0x61, 0x62, 0x36, 0x30, 0x34, 0x64, 0x30, 0x30, 0x32, 0x66, 0x65, 0x36, 0x38, 0x35, 0x65, 0x63, 0x61, 0x39, 0x31, 0x33, 0x63, 0x36, 0x35, 0x37, 0x64, 0x35, // 0x00, 0x00, 0x0d, 0x63, 0x80, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x05, 0x83, // | 7)....c........| // 0x00, 0x7f, 0x33, 0xe9, 0x5d, 0xbe, 0x4f, 0xa8, 0xb9, 0x7b, 0xc9, 0xe0, 0x1d, 0x8a, 0xd4, 0x60, // |..3.].O..{.....`| // 0xd63 = ?? // 0x00, 0x00, 0x0d, 0x64, 0x80, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x05, 0x83, 0x99, 0x40, 0x13, 0x37, // |...d.........@.7| // 0x0f, 0xaa, 0xdc, 0x4f, 0xad, 0xa8, 0xce, 0xdc, 0x8a, 0xf0, 0x09, 0x14, // 0xd64 = ?? // 0x00, 0x00, 0x0d, 0x5f, // |...O..........._| // 0x80, 0x00, 0x00, 0x11, 0x00, 0x00, 0x05, 0x83, 0x65, 0x6e, 0x2d, 0x47, 0x42, 0x00, 0x00, 0x00, // |........en-GB...| // 0xd5f = "en-GB" // 0x00, 0x00, 0x0d, 0x6c, 0x80, 0x00, 0x00, 0x12, 0x00, 0x00, 0x05, 0x83, 0x00, 0x25, 0x64, 0xe8, // |...l.........%d.| // 0xe9, 0xdf, 0x00, 0x00 // 0xd6c = 002564e8e9df (MAC address?) }; unsigned char buf5[] = { 0x00, 0x00, 0x55, 0x97, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x4c, 0x01, 0x02, 0x03, 0x00, 0x3c, 0xfe, 0x00, 0x0a, 0x4c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0d, 0x6d, 0x80, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x05, 0x83, 0x76, 0x70, 0x6e, 0x01, 0x00, 0x00, 0x00, 0x4f, 0x40, 0x00, 0x00, 0x1f, 0x02, 0x00, 0x00, 0x17, 0xfe, 0x00, 0x0a, 0x4c, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x0a, 0x66, 0x5e, 0x41, 0x6d, 0x39, 0x59, 0x53, 0x71, 0x64, }; unsigned char buf6[] = { 0x00, 0x00, 0x55, 0x97, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x4c, 0x01, 0x02, 0x04, 0x00, 0x0c, 0xfe, 0x00, 0x0a, 0x4c, 0x00, 0x00, 0x00, 0x01, }; unsigned char buf7[] = { 0x00, 0x00, 0x0a, 0x4c, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x37, 0x77, 0x69, 0x6e, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x3d, 0x39, 0x30, 0x2e, 0x31, 0x35, 0x35, 0x2e, 0x39, 0x32, 0x2e, 0x32, 0x31, 0x33, 0x0a, 0x00, }; unsigned char buf8[] = { 0x00, 0x00, 0x0a, 0x4c, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, }; int doread() { unsigned char buf[4096]; int i, l; //return 0; l = read(0, buf, 4096); if (l < 0) exit(1); return 0; for (i=0; i