如何分析openvswitch ovs-vsctl 命令与ovsdb-server的交互数据
更新:HHH   时间:2023-1-7


本篇文章给大家分享的是有关如何分析openvswitch ovs-vsctl 命令与ovsdb-server的交互数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

使用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

以上就是如何分析openvswitch ovs-vsctl 命令与ovsdb-server的交互数据,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注天达云行业资讯频道。

返回云计算教程...