利用nc分析网络协议

利用nc分析网络协议

Linux下开启两个terminal

  • DNS报文

一个terminal:

mkfifo fifo
nc -l -u 1024 < fifo | nc -u 8.8.8.8 53 > fifo

另一个terminal:

dig @127.0.0.1 -p 1024 www.baidu.com

此时第一个terminal会有如下输出:

00000000  d4 6a 80 00 00 01 00 01  00 00 00 00 03 77 77 77  |.j...........www|
00000010  05 62 61 69 64 75 03 63  6f 6d 00 00 01 00 01 c0  |.baidu.com......|
  • HTTP报文

一个terminal:

mkfifo fifo
nc -l 1024 < fifo | nc www.baidu.com 80 > fifo | hexdump -C

另一个terminal:

curl 127.0.0.1:1024

此时第一个terminal会有如下输出:

00000000  48 54 54 50 2f 31 2e 31  20 34 30 33 20 46 6f 72  |HTTP/1.1 403 For|
00000010  62 69 64 64 65 6e 0d 0a  53 65 72 76 65 72 3a 20  |bidden..Server: |
00000020  62 66 65 0d 0a 44 61 74  65 3a 20 46 72 69 2c 20  |bfe..Date: Fri, |
00000030  31 36 20 41 75 67 20 32  30 31 39 20 30 39 3a 35  |16 Aug 2019 09:5|
00000040  39 3a 34 34 20 47 4d 54  0d 0a 43 6f 6e 74 65 6e  |9:44 GMT..Conten|
00000050  74 2d 4c 65 6e 67 74 68  3a 20 30 0d 0a 43 6f 6e  |t-Length: 0..Con|
00000060  74 65 6e 74 2d 54 79 70  65 3a 20 74 65 78 74 2f  |tent-Type: text/|
00000070  70 6c 61 69 6e 3b 20 63  68 61 72 73 65 74 3d 75  |plain; charset=u|
00000080  74 66 2d 38 0d 0a 0d 0a                           |tf-8....|
00000088
  • HTTPS报文

一个terminal:

mkfifo fifo
nc -l 1024 < fifo | nc www.baidu.com 443 > fifo | hexdump -C

另一个terminal:

curl 127.0.0.1:1024

此时第一个terminal会有如下输出:

00000000  16 03 03 00 51 02 00 00  4d 03 03 5d 56 7e c3 25  |....Q...M..]V~.%|
00000010  89 1e 46 48 92 39 af 06  6d 8f 1c ea bd 61 40 13  |..FH.9..m....a@.|
00000020  a7 fd 34 3a 0b 4d dc a4  62 18 f7 20 b3 18 9d 9e  |..4:.M..b.. ....|
00000030  5f 35 89 33 3b 37 b5 66  db 91 e7 71 3b 20 0a 6a  |_5.3;7.f...q; .j|
00000040  12 26 91 8e 06 ed 27 3c  ef 26 8f 17 c0 2f 00 00  |.&....'<.&.../..|
00000050  05 ff 01 00 01 00 16 03  03 0e 2d 0b 00 0e 29 00  |..........-...).|
00000060  0e 26 00 09 b3 30 82 09  af 30 82 08 97 a0 03 02  |.&...0...0......|
00000070  01 02 02 0c 2c ee 19 3c  18 82 78 ea 3e 43 75 73  |....,..<..x.>Cus|
00000080  30 0d 06 09 2a 86 48 86  f7 0d 01 01 0b 05 00 30  |0...*.H........0|
00000090  66 31 0b 30 09 06 03 55  04 06 13 02 42 45 31 19  |f1.0...U....BE1.|
000000a0  30 17 06 03 55 04 0a 13  10 47 6c 6f 62 61 6c 53  |0...U....GlobalS|
000000b0  69 67 6e 20 6e 76 2d 73  61 31 3c 30 3a 06 03 55  |ign nv-sa1<0:..U|
000000c0  04 03 13 33 47 6c 6f 62  61 6c 53 69 67 6e 20 4f  |...3GlobalSign O|
000000d0  72 67 61 6e 69 7a 61 74  69 6f 6e 20 56 61 6c 69  |rganization Vali|
000000e0  64 61 74 69 6f 6e 20 43  41 20 2d 20 53 48 41 32  |dation CA - SHA2|
000000f0  35 36 20 2d 20 47 32 30  1e 17 0d 31 39 30 35 30  |56 - G20...19050|
00000100  39 30 31 32 32 30 32 5a  17 0d 32 30 30 36 32 35  |9012202Z..200625|
00000110  30 35 33 31 30 32 5a 30  81 a7 31 0b 30 09 06 03  |053102Z0..1.0...|
00000120  55 04 06 13 02 43 4e 31  10 30 0e 06 03 55 04 08  |U....CN1.0...U..|
00000130  13 07 62 65 69 6a 69 6e  67 31 10 30 0e 06 03 55  |..beijing1.0...U|
00000140  04 07 13 07 62 65 69 6a  69 6e 67 31 25 30 23 06  |....beijing1%0#.|
00000150  03 55 04 0b 13 1c 73 65  72 76 69 63 65 20 6f 70  |.U....service op|
00000160  65 72 61 74 69 6f 6e 20  64 65 70 61 72 74 6d 65  |eration departme|
00000170  6e 74 31 39 30 37 06 03  55 04 0a 13 30 42 65 69  |nt1907..U...0Bei|
00000180  6a 69 6e 67 20 42 61 69  64 75 20 4e 65 74 63 6f  |jing Baidu Netco|
00000190  6d 20 53 63 69 65 6e 63  65 20 54 65 63 68 6e 6f  |m Science Techno|
000001a0  6c 6f 67 79 20 43 6f 2e  2c 20 4c 74 64 31 12 30  |logy Co., Ltd1.0|
000001b0  10 06 03 55 04 03 13 09  62 61 69 64 75 2e 63 6f  |...U....baidu.co|
000001c0  6d 30 82 01 22 30 0d 06  09 2a 86 48 86 f7 0d 01  |m0.."0...*.H....|
000001d0  01 01 05 00 03 82 01 0f  00 30 82 01 0a 02 82 01  |.........0......|
000001e0  01 00 b4 c6 bf da 53 20  0f ea 40 f3 b8 52 17 66  |......S ..@..R.f|
000001f0  3b 36 01 8d 12 b4 99 0d  d3 9b 6c 18 53 b1 19 08  |;6........l.S...|
00000200  b0 fa 73 47 3e 0d 3a 79  62 78 61 2e 54 3c 49 7c  |..sG>.:ybxa.T<I||
00000210  56 da c0 be 61 55 d5 42  70 6a 10 be f5 bd 8d 64  |V...aU.Bpj.....d|
00000220  96 21 00 93 63 09 87 b7  19 ba 0e 20 3e 49 c8 53  |.!..c...... >I.S|
00000230  ed 02 8f 46 01 eb a1 07  93 73 bb ed f1 b3 c9 e2  |...F.....s......|
00000240  fb dd f0 39 2a 83 ad f4  41 98 bc 86 ea ba 74 a8  |...9*...A.....t.|
00000250  a6 e3 d0 e5 c5 8e b3 0b  b2 d2 ac 91 74 0e ff 80  |............t...|
00000260  10 23 36 62 65 08 b4 87  f5 57 0c 25 c7 00 d8 f5  |.#6be....W.%....|
00000270  a8 5d b8 33 41 a7 2a 5f  db fa 70 9e 21 bb ae 42  |.].3A.*_..p.!..B|
00000280  16 66 07 69 fe 1c 26 2a  81 0f ab 73 e3 d6 52 20  |.f.i..&*...s..R |
00000290  a4 6d a8 6c d4 66 48 a4  6f f2 68 0a c5 65 a1 4e  |.m.l.fH.o.h..e.N|
000002a0  bf 04 7a 40 43 1c d3 75  fb 75 ac 19 d6 4a 35 05  |..z@C..u.u...J5.|
000002b0  6e cf d5 65 d1 44 ca 6b  0c 58 04 c4 85 4f 1f be  |n..e.D.k.X...O..|
000002c0  2c 32 d1 f1 c6 28 fb f9  26 36 b5 6d fa cb 96 a2  |,2...(..&6.m....|
000002d0  a0 d0 bc f8 51 df 07 44  bd 8f 6f 67 c0 d4 af d9  |....Q..D..og....|
000002e0  cd c3 02 03 01 00 01 a3  82 06 19 30 82 06 15 30  |...........0...0|
000002f0  0e 06 03 55 1d 0f 01 01  ff 04 04 03 02 05 a0 30  |...U...........0|
00000300  81 a0 06 08 2b 06 01 05  05 07 01 01 04 81 93 30  |....+..........0|
00000310  81 90 30 4d 06 08 2b 06  01 05 05 07 30 02 86 41  |..0M..+.....0..A|
00000320  68 74 74 70 3a 2f 2f 73  65 63 75 72 65 2e 67 6c  |http://secure.gl|
00000330  6f 62 61 6c 73 69 67 6e  2e 63 6f 6d 2f 63 61 63  |obalsign.com/cac|
00000340  65 72 74 2f 67 73 6f 72  67 61 6e 69 7a 61 74 69  |ert/gsorganizati|
00000350  6f 6e 76 61 6c 73 68 61  32 67 32 72 31 2e 63 72  |onvalsha2g2r1.cr|
00000360  74 30 3f 06 08 2b 06 01  05 05 07 30 01 86 33 68  |t0?..+.....0..3h|
00000370  74 74 70 3a 2f 2f 6f 63  73 70 32 2e 67 6c 6f 62  |ttp://ocsp2.glob|
00000380  61 6c 73 69 67 6e 2e 63  6f 6d 2f 67 73 6f 72 67  |alsign.com/gsorg|
00000390  61 6e 69 7a 61 74 69 6f  6e 76 61 6c 73 68 61 32  |anizationvalsha2|
000003a0  67 32 30 56 06 03 55 1d  20 04 4f 30 4d 30 41 06  |g20V..U. .O0M0A.|
000003b0  09 2b 06 01 04 01 a0 32  01 14 30 34 30 32 06 08  |.+.....2..0402..|
000003c0  2b 06 01 05 05 07 02 01  16 26 68 74 74 70 73 3a  |+........&https:|
000003d0  2f 2f 77 77 77 2e 67 6c  6f 62 61 6c 73 69 67 6e  |//www.globalsign|
000003e0  2e 63 6f 6d 2f 72 65 70  6f 73 69 74 6f 72 79 2f  |.com/repository/|
000003f0  30 08 06 06 67 81 0c 01  02 02 30 09 06 03 55 1d  |0...g.....0...U.|
00000400  13 04 02 30 00 30 49 06  03 55 1d 1f 04 42 30 40  |...0.0I..U...B0@|
00000410  30 3e a0 3c a0 3a 86 38  68 74 74 70 3a 2f 2f 63  |0>.<.:.8http://c|
00000420  72 6c 2e 67 6c 6f 62 61  6c 73 69 67 6e 2e 63 6f  |rl.globalsign.co|
00000430  6d 2f 67 73 2f 67 73 6f  72 67 61 6e 69 7a 61 74  |m/gs/gsorganizat|
00000440  69 6f 6e 76 61 6c 73 68  61 32 67 32 2e 63 72 6c  |ionvalsha2g2.crl|
00000450  30 82 03 49 06 03 55 1d  11 04 82 03 40 30 82 03  |0..I..U.....@0..|
00000460  3c 82 09 62 61 69 64 75  2e 63 6f 6d 82 12 63 6c  |<..baidu.com..cl|
00000470  69 63 6b 2e 68 6d 2e 62  61 69 64 75 2e 63 6f 6d  |ick.hm.baidu.com|
00000480  82 10 63 6d 2e 70 6f 73  2e 62 61 69 64 75 2e 63  |..cm.pos.baidu.c|
00000490  6f 6d 82 10 6c 6f 67 2e  68 6d 2e 62 61 69 64 75  |om..log.hm.baidu|
000004a0  2e 63 6f 6d 82 14 75 70  64 61 74 65 2e 70 61 6e  |.com..update.pan|
000004b0  2e 62 61 69 64 75 2e 63  6f 6d 82 10 77 6e 2e 70  |.baidu.com..wn.p|
000004c0  6f 73 2e 62 61 69 64 75  2e 63 6f 6d 82 08 2a 2e  |os.baidu.com..*.|
000004d0  39 31 2e 63 6f 6d 82 0b  2a 2e 61 69 70 61 67 65  |91.com..*.aipage|
000004e0  2e 63 6e 82 0c 2a 2e 61  69 70 61 67 65 2e 63 6f  |.cn..*.aipage.co|
000004f0  6d 82 0d 2a 2e 61 70 6f  6c 6c 6f 2e 61 75 74 6f  |m..*.apollo.auto|
00000500  82 0b 2a 2e 62 61 69 64  75 2e 63 6f 6d 82 0e 2a  |..*.baidu.com..*|
  • ssh

一个terminal:

mkfifo fifo
/usr/sbin/sshd
nc -l 1024 < fifo | nc 127.0.0.1 22 > fifo | hexdump -C

另一个terminal:

ssh root@127.0.0.1 -p 1024

此时第一个terminal会有如下输出:

00000000  53 53 48 2d 32 2e 30 2d  4f 70 65 6e 53 53 48 5f  |SSH-2.0-OpenSSH_|
00000010  36 2e 39 0d 0a 00 00 03  b4 04 14 ff 4c 98 87 d0  |6.9.........L...|
00000020  bd 64 cd 54 7f 62 45 0a  2c 38 1d 00 00 00 96 63  |.d.T.bE.,8.....c|
00000030  75 72 76 65 32 35 35 31  39 2d 73 68 61 32 35 36  |urve25519-sha256|
00000040  40 6c 69 62 73 73 68 2e  6f 72 67 2c 65 63 64 68  |@libssh.org,ecdh|
00000050  2d 73 68 61 32 2d 6e 69  73 74 70 32 35 36 2c 65  |-sha2-nistp256,e|
00000060  63 64 68 2d 73 68 61 32  2d 6e 69 73 74 70 33 38  |cdh-sha2-nistp38|
00000070  34 2c 65 63 64 68 2d 73  68 61 32 2d 6e 69 73 74  |4,ecdh-sha2-nist|
00000080  70 35 32 31 2c 64 69 66  66 69 65 2d 68 65 6c 6c  |p521,diffie-hell|
00000090  6d 61 6e 2d 67 72 6f 75  70 2d 65 78 63 68 61 6e  |man-group-exchan|
000000a0  67 65 2d 73 68 61 32 35  36 2c 64 69 66 66 69 65  |ge-sha256,diffie|
000000b0  2d 68 65 6c 6c 6d 61 6e  2d 67 72 6f 75 70 31 34  |-hellman-group14|
000000c0  2d 73 68 61 31 00 00 00  2f 73 73 68 2d 72 73 61  |-sha1.../ssh-rsa|
000000d0  2c 73 73 68 2d 64 73 73  2c 65 63 64 73 61 2d 73  |,ssh-dss,ecdsa-s|
000000e0  68 61 32 2d 6e 69 73 74  70 32 35 36 2c 73 73 68  |ha2-nistp256,ssh|
000000f0  2d 65 64 32 35 35 31 39  00 00 00 6c 63 68 61 63  |-ed25519...lchac|
00000100  68 61 32 30 2d 70 6f 6c  79 31 33 30 35 40 6f 70  |ha20-poly1305@op|
00000110  65 6e 73 73 68 2e 63 6f  6d 2c 61 65 73 31 32 38  |enssh.com,aes128|
00000120  2d 63 74 72 2c 61 65 73  31 39 32 2d 63 74 72 2c  |-ctr,aes192-ctr,|
00000130  61 65 73 32 35 36 2d 63  74 72 2c 61 65 73 31 32  |aes256-ctr,aes12|
00000140  38 2d 67 63 6d 40 6f 70  65 6e 73 73 68 2e 63 6f  |8-gcm@openssh.co|
00000150  6d 2c 61 65 73 32 35 36  2d 67 63 6d 40 6f 70 65  |m,aes256-gcm@ope|
00000160  6e 73 73 68 2e 63 6f 6d  00 00 00 6c 63 68 61 63  |nssh.com...lchac|
00000170  68 61 32 30 2d 70 6f 6c  79 31 33 30 35 40 6f 70  |ha20-poly1305@op|
00000180  65 6e 73 73 68 2e 63 6f  6d 2c 61 65 73 31 32 38  |enssh.com,aes128|
00000190  2d 63 74 72 2c 61 65 73  31 39 32 2d 63 74 72 2c  |-ctr,aes192-ctr,|
000001a0  61 65 73 32 35 36 2d 63  74 72 2c 61 65 73 31 32  |aes256-ctr,aes12|
000001b0  38 2d 67 63 6d 40 6f 70  65 6e 73 73 68 2e 63 6f  |8-gcm@openssh.co|
000001c0  6d 2c 61 65 73 32 35 36  2d 67 63 6d 40 6f 70 65  |m,aes256-gcm@ope|
000001d0  6e 73 73 68 2e 63 6f 6d  00 00 00 d5 75 6d 61 63  |nssh.com....umac|
000001e0  2d 36 34 2d 65 74 6d 40  6f 70 65 6e 73 73 68 2e  |-64-etm@openssh.|
000001f0  63 6f 6d 2c 75 6d 61 63  2d 31 32 38 2d 65 74 6d  |com,umac-128-etm|
00000200  40 6f 70 65 6e 73 73 68  2e 63 6f 6d 2c 68 6d 61  |@openssh.com,hma|
00000210  63 2d 73 68 61 32 2d 32  35 36 2d 65 74 6d 40 6f  |c-sha2-256-etm@o|
00000220  70 65 6e 73 73 68 2e 63  6f 6d 2c 68 6d 61 63 2d  |penssh.com,hmac-|
00000230  73 68 61 32 2d 35 31 32  2d 65 74 6d 40 6f 70 65  |sha2-512-etm@ope|
00000240  6e 73 73 68 2e 63 6f 6d  2c 68 6d 61 63 2d 73 68  |nssh.com,hmac-sh|
00000250  61 31 2d 65 74 6d 40 6f  70 65 6e 73 73 68 2e 63  |a1-etm@openssh.c|
00000260  6f 6d 2c 75 6d 61 63 2d  36 34 40 6f 70 65 6e 73  |om,umac-64@opens|
00000270  73 68 2e 63 6f 6d 2c 75  6d 61 63 2d 31 32 38 40  |sh.com,umac-128@|
00000280  6f 70 65 6e 73 73 68 2e  63 6f 6d 2c 68 6d 61 63  |openssh.com,hmac|
00000290  2d 73 68 61 32 2d 32 35  36 2c 68 6d 61 63 2d 73  |-sha2-256,hmac-s|
000002a0  68 61 32 2d 35 31 32 2c  68 6d 61 63 2d 73 68 61  |ha2-512,hmac-sha|
000002b0  31 00 00 00 d5 75 6d 61  63 2d 36 34 2d 65 74 6d  |1....umac-64-etm|
000002c0  40 6f 70 65 6e 73 73 68  2e 63 6f 6d 2c 75 6d 61  |@openssh.com,uma|
000002d0  63 2d 31 32 38 2d 65 74  6d 40 6f 70 65 6e 73 73  |c-128-etm@openss|
000002e0  68 2e 63 6f 6d 2c 68 6d  61 63 2d 73 68 61 32 2d  |h.com,hmac-sha2-|
000002f0  32 35 36 2d 65 74 6d 40  6f 70 65 6e 73 73 68 2e  |256-etm@openssh.|
00000300  63 6f 6d 2c 68 6d 61 63  2d 73 68 61 32 2d 35 31  |com,hmac-sha2-51|
00000310  32 2d 65 74 6d 40 6f 70  65 6e 73 73 68 2e 63 6f  |2-etm@openssh.co|
00000320  6d 2c 68 6d 61 63 2d 73  68 61 31 2d 65 74 6d 40  |m,hmac-sha1-etm@|
00000330  6f 70 65 6e 73 73 68 2e  63 6f 6d 2c 75 6d 61 63  |openssh.com,umac|
00000340  2d 36 34 40 6f 70 65 6e  73 73 68 2e 63 6f 6d 2c  |-64@openssh.com,|
00000350  75 6d 61 63 2d 31 32 38  40 6f 70 65 6e 73 73 68  |umac-128@openssh|
00000360  2e 63 6f 6d 2c 68 6d 61  63 2d 73 68 61 32 2d 32  |.com,hmac-sha2-2|
00000370  35 36 2c 68 6d 61 63 2d  73 68 61 32 2d 35 31 32  |56,hmac-sha2-512|
00000380  2c 68 6d 61 63 2d 73 68  61 31 00 00 00 15 6e 6f  |,hmac-sha1....no|
00000390  6e 65 2c 7a 6c 69 62 40  6f 70 65 6e 73 73 68 2e  |ne,zlib@openssh.|
000003a0  63 6f 6d 00 00 00 15 6e  6f 6e 65 2c 7a 6c 69 62  |com....none,zlib|
000003b0  40 6f 70 65 6e 73 73 68  2e 63 6f 6d 00 00 00 00  |@openssh.com....|
000003c0  00 00 00 00 00 00 00 00  00 00 00 00 00           |.............|
000003cd
  • telnet

一个terminal:

nc -l 1024 | hexdump -C

另一个terminal:

telnet 127.0.0.1 1024

如果敲字母然后ctrl+c,此时第一个terminal会有你的输入