wireshark中搜索16进制算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wireshark中搜索16进制算法相关的知识,希望对你有一定的参考价值。

哪位大牛知道wireshark中搜索十六进制算法是怎样实现的啊?

或者对应于源码中那个文件那个函数?

参考技术A 类似这种? eth.src[0:3] == 00:00:83

还有matches和contains可以用
wsp.user_agent matches "(?i)cldc"

http contains "http://www.wireshark.org"

参考这个网站: www.wireshark.org/docs/man-pages/wireshark-filter.html追问

我是想知道里面具体算法是怎么实现的,就是使用C语言怎么实现搜索16进制数值

追答

下载其代码看一下,反正不是glib提供的正则库,就是类似perl的,都是c的正则表达式库。编译原理里面有讲的。

使用WireShark搜索想要的包(简约版)

参考技术A 我们通过tcpdump从服务器抓下来的包,通过WireShark打开后,是一堆原始数据。如何在成千上万条原始数据中找到我们想要的数据呢?本文章提供两个最常用的方法供大家参考。

WireShark提供两个搜索栏供大家使用,一个搜索栏在主页面正上方,中间有“应用显示过滤器的字样”,我们可以在这个搜索栏中输入例如来源Ip,目标Ip,端口等条件来检索数据,下面写几个最常用的:

所有ip为10.45.1.1发送给端口为80或者80端口发出的tcp包:
ip.src == 10.45.1.1 && tcp.port == 80

所有TCP长度大于7byte的包:
tcp.len >= 7

所有http协议方法为POST,Path为/api/getUser.do的包
http.request.method=="POST" && http.request.uri == "/api/getUser.do"

显示包含TCP SYN标志的封包:
tcp.flags.syn == 0x02
tcp.window_size == 0 && tcp.flags.reset != 1

WireShark还允许精准的字符串搜索,在MAC系统中,COMMAND+F就能把字符串搜索给调出来,我们选择下过滤器,一般我都会选择字符串过滤器。

对于这个搜索栏,有多个选项,第一个选项最重要,选择分组字节流才能将所有包内容一网打尽,如果知道自己包的编码,也一定要选择正确的编码才行,然后填写完字符串后就能搜索了:

搜索完成后,页面会自动跳转到搜索结果条上去,搜索结果那一行会变灰,然后我们右键选择搜索出来的那一行,然后选择追踪流-》TCP流,就能看到传输的内容了:

PS,如果在MAC本机抓包,WireShark会提示没有网卡访问权限,这个时候执行下面的命令即可:

sudo chmod 777 /dev/bpf*

以上是关于wireshark中搜索16进制算法的主要内容,如果未能解决你的问题,请参考以下文章

为啥Wireshark无法解密HTTPS数据

java wireshark 16进制复制的字符串转换字节数组

如何更改wireshark的字体和样式

如何为 C/C++ 编写二进制算法

2017-2018-2 20179317 卿爽 《网络攻防技术》第十周作业

OpenFlow_tutorial_2_Install_Required_Software