存档

文章标签 ‘网络编程’
8月
06

Tcpdump解析重发包程序

在做网络编程的时候,如果是在公司里面做项目,经常需要做联调。假如你做的是后台,在项目中就要和前台的服务器进行联调,前面收到一个什么操作,然后就向你后台发一个TCP或者UDP包,调试是一个多个人的工作,如果前面发过来一个包没错,但是你这边解包或者别的逻辑上出了点问题,那么当你修改编译完你的代码后你又要跟前台说“你再发个包给我吧”,这样是很麻烦的,如果能先自己模拟前台发过来的包,这样就可以自己给自己发包测试解包或者别的逻辑什么的,知道自己这边没什么问题了,再跟前台正式联调一次,这样不仅效率可以更高,而且,方便你我他~

要怎么模拟前台发包呢?有个方法,就是先用TCPDUMP监听端口,遇到前台的包就重定向到一个txt文本中。一般tcpdump拿到的包格式就像下面这个那样。上面有IP,端口,时间,UDP还是TCP,数据包的长度等信息。

13:56:37.898494 IP 10.130.68.226.51851 > 10.130.92.40.8791: UDP, length 311
	0x0000:  4500 0153 0000 4000 3d11 868c 0a82 44e2  E..S..@.=.....D.
	0x0010:  0a82 5c28 ca8b 2257 013f 6ea5 0a01 3700  ..(.."W.?n...7.
	0x0020:  0505 c041 ac4f ff00 0000 6570 6f63 686c  ...A.O....epochl
	0x0030:  6975 0000 0065 706f 6368 6c69 7500 0000  iu...epochliu...
	0x0040:  ac19 642e 6d69 6372 6f62 6c6f 675f 7365  ..d.microblog_se
	0x0050:  7276 6900 ffe2 defe 0000 2da9 00d3 8f32  rvi.......-....2
	0x0060:  4300 0000 006d 6963 726f 626c 6f67 5f73  C....microblog_s
	0x0070:  6572 7669 6300 41ac 4fff 0000 0000 0000  ervic.A.O.......
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0015 0258  ...............X
	0x00a0:  0000 0000 0a00 06b1 e122 f03b 4a00 0000  .........".;J...
	0x00b0:  0000 0000 0012 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0600 0200 0402 0012 004e 2100 3ce5  ...........N!.<.
	0x00d0:  8a9e e79a 84e5 a5bd efbc 8ce6 9c80 e5a5  ................
	0x00e0:  bde5 88b0 e4bd a0e8 87aa e5b7 b1e5 aeb6  ................
	0x00f0:  e58a 9ee5 8ebb efbc 8ce4 bb80 e4b9 88e7  ................
	0x0100:  8ea9 e684 8fe5 84bf efbc 9f00 0a00 1800  ................
	0x0110:  0002 650b cfad ea25 12fe 6500 0002 650b  ..e....%..e...e.
	0x0120:  cfad ea25 12fe 654e 2300 0800 0141 ac4f  ...%..eN#....A.O
	0x0130:  ff00 0100 6600 1100 0003 f000 0000 0000  ....f...........
	0x0140:  0000 0000 0000 0000 7530 0006 0100 0300  ........u0......
	0x0150:  0100 03

拿到这个文档之后,我们只要解析这个文档,把包的数据复制出来,自己给自己发就行了。 阅读全文…

分类: 网络 标签: , ,