html tool

显示标签为“wrieshark”的博文。显示所有博文
显示标签为“wrieshark”的博文。显示所有博文

2020年9月7日星期一

转: wireshark 取反条件

 参考: https://blog.csdn.net/aflyeaglenku/article/details/50884296


表达式为:ip.addr == 192.168.0.1,本表达式的等价表达式为

 ip.src == 192.168.0.1or ip.dst == 192.168.0.1

-

要排除以上的数据包,我们只需要将其用括号囊括,然后使用 "!" 即可

!(ip.addr == 192.168.0.1)

2020年5月21日星期四

wrieshark 解析 https

轉載地址:

方法一:
使用密鑰和證書方式這個我沒有驗證可以參考:
這裡測試成功方法二:
windows方法在很少的sslkey中測試成功了,太對之前就一直提示失敗

步驟:
1. windows 添加環境變量SSLKEYLOGFILE 設置 sslkey的存儲位置
或者 
在chrome 的啟動參數中添加 --ssl-key-log-file=%userprofile%\desktop\ssl.txt

2. 在wrieshark中添加對應的sslkey,位置為:
点击编辑>首选项>protocol>ssl:

在(Pre)-Master-Secretlog filename中选择刚才设置的变量值。

結果驗證:
如果可以解密成功
之前看到的TLSv1.2的包都變成了http2

否則就是無法解密的。

這個sslkey 大致如下:

字段介紹如下:
  • Clienthello:发送客户端的功能和首选项给服务器,在连接建立后,当希望重协商、或者响应服务器的重协商请求时会发送。
    • version:客户端支持的最佳协议版本
    • Random:共32字节,28字节随机数,4字节额外信息,受客户端时钟影响(为了避免浏览器指纹采集,现在一般会对4字节时钟做扭曲)
    • Session ID:32字节随机数,用于和服务器重建会话,为空表示新建会话
    • cipher suit:客户端支持的所有密码套件,按优先级排列
    • Compression:客户端支持的压缩算法,默认无压缩
    • Extensions:由任意数量的扩展组成,携带额外数据
  • ServerHello:
    • 选择客户端提供的参数反馈客户端
    • 服务器无需支持客户端支持的最佳版本,如果服务器不支持客户端版本,可以提供其他版本以期待客户端可以接受
  • Certificate:
    • 用于携带服务器X.509证书链
    • 主证书必须第一个发送,中间证书按照正确的顺序跟在主证书之后
    • 服务器必须保证发送的证书和选择的算法套件一致
    • Certificate消息时可选的
  • ServerKeyExchange: 携带密钥交换的额外数据,取决于加密套件
  • ServerHelloDone:服务器已将所有预计的握手消息发送完毕
  • ClientkeyExchange:携带客户端为密钥交换提供的信息
  • ChangeCipherSpec:发送端已取得用以连接参数的足够的信息
  • Finish:握手完成,消息内容加密,双方可以交换验证,整个握手完整性所需的数据
    • 算法:verrify_data = PRF(master_secret , finished_label,hash(handshake_message))

  要解密HTTPS流量,需要得到加密密钥,加密密钥由主密钥、客户端随机数、服务器随机数生成。由上述握手过程可知,客户端随机数和服务器随机数在双方握手消息中传递,而主密钥(master_secret)则由预主密钥(pre_master_secret)结合两个随机数生成。预主密钥通过密码套件中的密钥交换算法进行交换(DH、RSA)。



2019年1月11日星期五

writshare 过滤dns type = NULL的条件


dns.qry.type ==10

本来写的是 dns.qry.type == null 提示不对 ,现在看来还是字符好用啊,顺便发现自动补齐确实对小白好用,赞一个

2018年4月10日星期二

2018年3月12日星期一

抓包过程打标签

《wireshark 网络分析就这么简单》
P19-20
抓包过程打标签的实验
1> ping -n 1 -l 1
2> 要做的步骤1
3> ping -n 1 -l 2
4>  要做的步骤2
5>ping -n 1 -l 1
6>  要做的步骤3
存储的pcap,使用icmp过滤,在返回包的data区
1bytes为步骤1
2bytes为步骤2
3bytes为步骤3
参见下图:


 

[popexizhi]
测试了一下,很好用,补充一个这个要是在linux使用为 
ping -n 1 -l 1
ping -n 1 -l 2
ping -n 1 -l 3


2018年2月23日星期五

WireShark过滤解析HTTP


http://www.cnblogs.com/kxdblog/p/4203924.html

HTTP分析
  TCP协议规定HTTP进程的服务器端口号为80,通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。(注意这里指的是服务器开发的端口80)HTTP服务器则在那个端口监听客户端发送过来的请求。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
http——Packet Counter      http总的统计
 
http.request.method == "GET" http GET请求
http.response==1  http所有的响应包
http.response==1 && http.response.code==200 响应请求成功的包
http.response==1 && http.response.code==201 201 created 提示知道新文件的URL,成功请求并创建了新的资源
http.response==1 && http.response.code==304 客户端已经缓存,不带响应体
http.response==1 && http.response.code==302 客户端继续使用原有URI
 
http.request==1 //过滤所有的http请求,貌似也可以使用http.reques
http.request.method == "GET"
http.request.method == "POST"
http.request.uri == "/img/logo-edu.gif" [popexizhi:这个对指定地址访问的url过了非常有用的,make]
http contains "GET"
http contains "HTTP/1."
// GET包
http.request.method == "GET" && http contains "Host: "
http.request.method == "GET" && http contains "User-Agent: "
// POST包
http.request.method == "POST" && http contains "Host: "
http.request.method == "POST" && http contains "User-Agent: "
// 响应包
http contains "HTTP/1.1 200 OK" && http contains "Content-Type: "
http contains "HTTP/1.0 200 OK" && http contains "Content-Type: "
一定包含如下
Content-Type:
 
http.host==magentonotes.com 或者http.host contains magentonotes.com //过滤经过指定域名的http数据包,这里的host值不一定是请求中的域名
http.request.method==POST过滤所有请求方式为POST的http请求包,注意POST为大写
 
http.cookie contains guid //过滤含有指定cookie的http数据包
http.request.full_uri==” http://task.browser.360.cn/online/setpoint” //过滤含域名的整个url则需要使用http.request.full_uri
http.content_type == “text/html” //过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包
http.server //过滤所有含有http头中含有server字段的数据包
http.request.version == "HTTP/1.1" //过滤HTTP/1.1版本的http包,包括请求和响应