参考:
http://blog.csdn.net/u011500307/article/details/25838075
89504e470d0a1a
打开文件是一个pcap文件,在wireshark里面观察可以看到很多dns,这里第一个dns的地址是89504e470d0a1a.asis.io,这个89504e470d0a1a
是png的开始的几个数据,叫做magic numbers.
➜ ~ hexdump /Users/caiqiqi/Desktop/截屏/Screenshot_2017-06-09_上午8.34.00.png|head -3 [0:41:40]
0000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52
0000010 00 00 03 ba 00 00 00 e0 08 06 00 00 00 2d f9 1a
0000020 61 00 00 0a ae 69 43 43 50 49 43 43 20 50 72 6f
所以可以猜测应该是所有的dns请求的地址的第一部分组合成了一个Png图片。
先是用dns.flags == 0x8180 and dns.qry.name matches "[0-9a-f]{14}.asis.io"
来过滤出所有的dns,如下图
再就是选择file—> export specified packets
保存好后可以直接用string来提取此文件中的字符串,用grep过滤出所有的十六进制的字符串,再用tr命令去除换行符号。
strings qweqwe.pcapng | grep '^[a-z0-9]\{14\}$' | tr -d '\n' > test.txt
再将test.txt转化成相应的二进制png就可以了。
xxd -r -p test.txt out.png
最后的图片如下: