分析openvswitch ovs-vsctl 命令与ovsdb-server的交互数据

ovsdb-server与客户端通过json-rpc通信,参考

https://tools.ietf.org/html/rfc7047#section-1.1(The Open vSwitch Database Management Protocol)

 

使用strace分析ovs-vsctl 命令系统调用

strace ovs-vsctl list-br

部分输出内容如下,所以ovs-vsctl通过unix socker(/var/run/openvswitch/db.sock)与ovsdb-server通信

socket(AF_UNIX, SOCK_STREAM, 0)

connect(3, {sa_family=AF_UNIX, sun_path="/var/run/openvswitch/db.sock"}, 31) = 0

 

如何监控unix socket通信数据

没有找到 “通过tcpdump监控unix socket通信数据” 的资料。

下面介绍通过socat监控unix socket通信数据。

1. 启动socat

socat -t100 -v UNIX-LISTEN:/tmp/duplicatesocket,mode=777,reuseaddr,fork UNIX-CONNECT:/var/run/openvswitch/db.sock

2. 执行ovs-vsctl命令时,设置--db参数

ovs-vsctl --db unix:/tmp/duplicatesocket list-br

socat输出结果部分内容

> 2017/04/26 10:04:24.271932  length=56 from=0 to=55
{"id":0,"method":"get_schema","params":["Open_vSwitch"]}< 2017/04/26 10:04:24.273208  length=8192 from=0 to=8191
{"id":0,"result":{"cksum":"2211824403 22535","name":"Open_vSwitch","version":"7.12.1","tables":{"Controller":{"columns":{"connection_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["in-band","out-of-band"]]}}},"is_connected":{"ephemeral":true,"type":"boolean"},"local_gateway":{"type":{"min":0,"key":"string"}},"enable_async_messages":{"type":{"min":0,"key":"boolean"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"local_netmask":{"type":{"min":0,"key":"string"}},"controller_burst_limit":{"type":{"min":0,"key":{"minInteger":25,"type":"integer"}}},"local_ip":{"type":{"min":0,"key":"string"}},"controller_rate_l

 

参考

http://www.humbug.in/2013/sniffing-unix-domain-sockets/(Sniffing Unix Domain Sockets)

 

转载于:https://my.oschina.net/u/1263909/blog/887425

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值