2. 如何对nova服务抓包?

install
wget http://gitlab.qima-inc.com/chuxiaofeng/zan-dev-doc/raw/master/novadump.php
php novadump.php install
usage
Usage: 
    全部参数可选, 建议 --app= 与 --path= 否则不予解开thrift包, -s -m 过滤函数为fnmatch

    1. 读取tcpdump pcap流, 实时处理
    2. --file 解析pcap文件

    novadump --app=<应用名称> --path=<项目根路径> -s=<servicePattern> -m=<methodPattern> --filter=<tcpdump过滤表达式>   
    novadump --app=<应用名称> --path=<项目根路径> -s=<servicePattern> -m=<methodPattern> --file=<pcap文件>


    example:

    novadump
    novadump --app=pf-api --path=/home/www/pf-api
    novadump --filter='tcp and host 127.0.0.1 and port 8000'
    novadump --app=pf-api --path=/home/www/pf-api --filter='tcp and host 127.0.0.1 and port 8000'
    novadump --app=pf-api --path=/home/www/pf-api --filter='tcp and host 127.0.0.1 and port 8000'
             -s=com.youzan.service.* -m=getBy*

    tcpdump -w /path/to/dump.pcap
    novadump --app=pf-api --path=/home/www/pf-api --file=/path/to/dump.pcap
example
  1. 抓取scrm-open某实例卡门泛化调用nova包
sudo php novadump.php --app=scrm-open --path=/home/www/scrm-open/ -s=com.youzan.nova.framework.generic.service.genericService -m=invoke
  1. 抓取所有scrm-api某实例所有nova包
sudo php novadump.php --app=scrm-api --path=/home/www/scrm-api/
说明

旧版本libpcap与tcpdump限制 -s 0默认最包大小为65535, 超过该体积nova包会因为tcpdump实际抓取与包长不符,导致解包失败

results matching ""

    No results matching ""