工作需要经常需要在wireshark里搜索内容,记录一点小tips
搜索方式是直接使用tcp.payload contains “XXX”,或者data.data contains “XXX”
由于 不同请求发送方处理的方式不同,需要多处理集中情况
1,发送方进行了urlencode,搜索的就是内容.encode的内容
2,如果发送方是进行的gbk编码,直接使用tcp.payload contains "中文"在wireshark里是可以搜索到的,应该是wireshark模式也使用的gbk,一个中文在十六进制视图里占用了两位。
3,如果发送方使用的是utf8编码,一个汉字可能占据了三位,直接在wireshark里搜索不到,还需要手动转换一下。
具体差别,可以写一段python,直接抓包查看差距
import socket
host = ‘172.16.129.6’
dstport = 34567
target = (host,dstport)
try:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
except:
print “error!”
s.connect(target)
#下面一行切换gbk和Utf8编码查看抓包,发送内容不一样,wireshark搜索不到utf8编码的
s.send(bytes(“你”))
#s.send(bytes(quote(“你”)))