自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 关于Hyper-V网络设置经验总结(Default Switch/固定IP/SSH)

关于Hyper-V网络设置经验总结(Default Switch/固定IP/SSH)背景最近想在本机WIN10上创建几个Centos用于做几个试验,在VMWare、VirtualBox和Hyper-V中选择了Hyper-V,原因是VMWare免费版不能商用(在公司里最好不要用);Windows的Docker据说从VirtualBox也换成了Hyper-V,所以也不用VirtualBox(我不用界面,所以要求也不高)。需求我对虚机网络的基本需求是:可以通过本机SSH工具(如Putty或XShell

2021-03-28 22:22:47 31900 22

原创 Wireshark Protobuf 和 gRPC 内置解析器使用介绍

Wireshark从2.6.0版本开始支持解析Protobuf和gRPC协议,但到3.3.0/3.4.0版本相关功能才比较完备,目前已支持根据.proto文件里的定义解析Protobuf消息等功能。本文以几个示例说明Wireshark Protobuf和gRPC内置解析器的使用方法。

2020-11-01 16:38:40 6994 3

原创 Wireshark Lua: 一个从RTP抓包里导出H.264 Payload,变成264裸码流文件(xxx.264)的Wireshark插件

抓取一个包含H.264 Payload RTP包的SIP会话或RTSP会话后,用Wireshark的Play功能只能播放声音,不能播放视频。把RTP payload直接导出成文件后也是不能直接播放的,因为H.264 over RTP封包是符合RFC3984规范的,必须按照该规范把H.264数据取出来后,组成NALU,放到avi/mp4或裸码流文件等容器里后才能播放。     本人写了一个wir

2012-03-15 23:43:47 28944 23

原创 wirshark lua: 横跨多包解析方法,混搭tap与postdissector解析器(RTP timestamp差值为例)

在分析抓包时,有时需要横跨多个包计算,比如计算所有RTP包的timestamp与之前RTP包的timestamp的差值,这样可以一目了然看出timestamp是否有异常波动。理想方式是把这个计算出来的差值直接放到RTP信息后面,但wireshark lua目前没有提供可以在某协议dissector解析完后调用自己lua写的dissector的方法,除了http body可借助一些特殊的tabl

2012-03-04 01:01:19 5699

原创 RTSP回放时如何通过RTP的timestamp计算npt时间

客户端通过RTSP的PLAY方法开始播放、定位播放、快速/慢速播放(Scale)某非实时视频时,客户端会通过Range头字段指定npt时间,即让服务器开始从npt指定时刻开始播放视频(npt即播放位置离文件开始部分的相对时间)。播放开始后,下一次发送PLAY命令前,客户端需要根据服务器发来的RTP timestamp计算当前收到的帧的npt时间。客户端与服务器同步npt时间客户端可以在

2012-03-03 23:26:43 27943 5

原创 RTP timestamp与帧率及时钟频率的关系

RTP timestamp是用时钟频率(clock rate)计算而来表示时间的。RTP timestamp表示每帧的时间,由于一个帧(如I帧)可能被分成多个RTP包,所以多个相同帧的RTP timestamp相等。(可以通过每帧最后一个RTP的marker标志区别帧,但最可靠的方法是查看相同RTP timestamp包为同一帧。)      两帧之间RTP timestamp的增量

2012-03-03 22:16:38 26651

原创 实用命令:利用openssl和xxd命令把16进制字符串转换为base64字符串或把base64转成16进制表示

把16进制字符串转换为base64字符串:$ echo 6742c016888b50580934200002bf20002bf20040 | xxd -r -ps | openssl base64Z0LAFoiLUFgJNCAAAr8gACvyAEA=把base64字符串转换为16进制字符串:$ echo Z0LAFoiLUFgJNCAAAr8gACvyAEA= | opens

2012-03-03 21:28:00 12372 2

原创 wireshark lua: Dissector for RTP dynamic payload type(如何编写RTP Payload解析器)

本文介绍如何用wireshark lua编写解析RTP Payload的解析器(dissector)。

2010-09-12 17:37:00 8440 1

原创 Javascript URI/URL Parser and QueryString Parser/Decoder(Javascript 版本URI/URL及QueryString解析器)

一个Javascript版本的URI/URL的解析器代码,可以解析出URI/URL的scheme, query string, fragment, authority, user-info, path, host和port部分。并且可以获取Query String(如a=b&c=b%20d&e=f)中的参数。

2010-08-21 17:06:00 3474

原创 如何用Wireshark lua编写的协议解析器,查看HTTP包的URI/URL的Query String里的参数

<br />Wireshark解析HTTP GET方法不会解析URI里Query字符串里的参数(通常由GET方式提交form数据),本文介绍用lua编写一个简单的协议解析器,让这些参数解析出来,并显示在wireshark协议解析窗口里。<br /> <br />首先编写以下解析器lua脚本(用文本编辑器编辑即可),取文件名为my_http_querystring_decoder.lua:<br />-- Decode param=value from query string of http request

2010-07-02 23:23:00 12174 3

原创 Record wireshark lua's bugs found by myself and some suggestion

1. Lua script can not get "data-text-lines" protocol data:for example, local dataline = Field.new("data-text-lines")local data = dataline()tostring(data.value)       is not ok "FT_" error 

2010-04-28 23:30:00 2104

原创 wireshark lua: How to add your own tab to "Packet Bytes" pane (just like "reassembled TCP" tab) -- 用wireshark lua编写协议解析器dissecto

在用wireshark lua编写自己的协议解析器dissector时,是可以在包字节面板(Packet Bytes pane)上加入自己的tab的,就像HTTP跨越多个TCP包时,会加上一个Reassembled TCP面板到字节面板里,用于显示整个完整的HTTP消息。 样例代码如下:--Test add new tab to "Packet Bytes" pane (just li

2010-04-27 22:37:00 4586

原创 如何在wireshark里用lua脚本编写dissector解析HTTP BODY (after TCP reassembled)

本文讲述如何用wireshark支持的lua脚本语言编写解析器(dissector)来解析HTTP Body部分的内容。Wireshark本身提供的HTTP Body(MIME)媒体内容的解析有限,多为直接显示文本内容,但有时我们在查看抓包时希望能看到进一步的协议解析结果。本文介绍的内容可以帮助有这方面需要的朋友直接编写解析器,进一步解析HTTP Body部分(无论是GET/POST的HTTP B

2010-04-25 11:57:00 10655 1

原创 用Wireshark lua编写的协议解析器查看Content-Type为application/x-www-form-urlencoded的HTTP抓包

一、问题:用Wireshark抓包查看HTTP POST消息,Content-Type为application/x-www-form-urlencoded(对应HTML为那种提交后的网络包)时不太方便,因为抓包只显示了原始的param1=value1&param2=value2这样的数据,没有把参数提出出来,并对参数进行url decode,如下图所示: 二、问题解决过程及心得

2010-04-25 00:15:00 29148 5

原创 Tomcat里配置CRL

本文介绍在Tomcat中配置HTTPS双向认证(验证客户端)的情况下,如何验证CRL。 我们可以按照文章《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》(http://blog.csdn.net/jasonhwang/archive/2008/04/29/2344768.aspx)里的方法在Tomcat里构建一个HTTPS验证客户端证书(Usbkey或文件数

2008-05-08 00:16:00 6399 1

原创 如何用Wireshark(Ethereal)查看HTTPS(SSL)消息里的加密内容

本文根据个人经验介绍如何用Wireshark(Ethereal的新名字)去查看捕捉到的SSL(包括HTTPS)里被加密的消息。大家在使用Tomcat等服务器配置成HTTPS(基于TLS/SSL)后,调试时往往需要用Wireshark去抓包,并希望查看其中的HTTP消息。但是HTTPS的通讯是加密的,所以默认情况下你只能看到HTTPS在建立连接之初的交互证书和协商的几个消息而已,真正的业务数据(

2008-04-30 21:52:00 48904

原创 利用ant命令的source参数在jdk1.5环境下编译jdk1.4兼容的类

JDK1.5编译的类在JDK1.4环境运行有问题。如果用Eclipse,你可以在项目属性中编译选项里有设置生成兼容JDK1.4的类。但是如果你在Eclipse里自己写Ant脚本用 命令去编译java类,则生成的仍为JDK1.5的类(执行Ant脚本时与Eclipse设置的编译选项无关)。如何解决了,其实很简单,只要在 ant 命令里加source参数。如:     source="1.4" 

2008-04-29 23:32:00 4686

原创 如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)

 本文将介绍如何利用Tomcat的HTTPS功能,和一个自己创建的CA,来构建WEB服务器证书和个人数字证书,最终建成一个HTTPS双向认证环境(可以用于测试目的)。本文构建HTTPS双向认证的业务流程大致如下:  1. 创建WEB服务器公钥密钥,并生成服务器证书请求。  2. 利用自建的CA,根据服务器证书请求为服务器签发服务器证书。然后把服务器证书导回WEB服务器中。  3. 利用open

2008-04-29 22:05:00 30809 9

原创 实用命令:利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

本文介绍了openssl的几个实用命令,利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密。 一. 利用openssl命令进行BASE64编码解码(base64 encode/decode)      1. BASE64编码命令       对字符串‘abc’进行base64编码:           # echo abc | opens

2008-04-27 21:33:00 30744 2

原创 巧用多个正则表达式解决取反替换问题(解决不匹配则替换问题)——用sed和perl的正则表达式

在日常工作中,你可能会遇到这种情况,你只能用正则表达式(sed或perl的正则表达式)来解决这样一个问题:替换所有不匹配某表达式的输入成为某特殊字符串。特别是某些软件的配置选项只提供了让你使用正则表达式的情况。例如配置“除了某含有域名的URL可以访问外,不能访问其它URL”等策略。本文介绍一种在没有取反正则表达式情况下,如何用三次正则表达式解决这个问题。典型的例子是电话呼叫策略配置的例子,如请

2008-04-26 23:45:00 17213 3

原创 小技巧:如何在某命令的帮助输出信息里(usage)用grep查找关键字(错误输出重定向到标准输出)

现在的Linux/UNIX命令越来越丰富,我们平时执行命令时若使用不当,命令就会自己输出使用指导(usage)到屏幕。由于命令参数众多,经常会输出一屏多的帮助信息,人眼看起来有点花。你可能想到用grep来找到你关系的参数,如:     openssl ca -abc | grep gencrl但出乎意料的是,结果又输出了一屏的帮助信息。为什么grep没起作用呢,这是因为很多命令都把帮助手册

2008-04-26 01:14:00 3702 1

原创 利用openssl创建一个简单的CA

 本文旨在利用开源openssl软件,在Linux(或UNIX/Cygwin)下创建一个简单的CA。我们可以利用这个CA进行PKI、数字证书相关的测试。比如,在测试用Tomcat或Apache构建HTTPS双向认证时,我们可以利用自己建立的测试CA来为服务器端颁发服务器数字证书,为客户端(浏览器)生成文件形式的数字证书(可以同时利用openssl生成客户端私钥)。  该简单的CA将建立在用户自己的

2008-04-26 00:59:00 29822 4

原创 发文庆贺个人技术博客开了!

      很久就有想法把自己日常总结的一些技术经验记录下来,终于找到了一个比较合适的地方。希望以后可以和大家一起成长。       

2008-04-13 23:11:00 923 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除