在ubuntu上使用wireshark对some/ip协议进行抓包

news/2024/4/20 2:01:39/文章来源:https://blog.csdn.net/m0_37469948/article/details/126639159

环境

  • Ubuntu20.04
  • Wireshark 3.6.5
  • AUTOSAR Adaptive Platform Demonstrator(APD) R21-11
  • vsomeip

背景

做研究生毕设需要对AUTOSAR Adaptive Platform进行研究学习,通过成为AUTOSAR的Attendee会员,获取了其参考实现AUTOSAR Adaptive Platform Demonstrator(APD)的访问权限,并在Ubuntu20.04平台上进行了构建运行。研究课题主要关注AP的Communication Management模块。CM提供了ara:com API供上层应用实现SOA服务通信需求,ara::com继承了SOME/IP的基本通信模式,起初也仅支持SOME/IP网络绑定作为底层通信中间件。单纯学习网络协议规范过于枯燥,学习效率不高,结合抓包实践可以加深理解,提高学习效率,故尝试运行APD提供的sample application:radar- fusion,并对客户端与服务器两节点之间的通信过程进行抓包,结合SOME/IP协议规范进行对比分析,熟悉协议通信流程。

环境配置流程

1. 安装Ubuntu 20.04环境

对于APD R21-11版本,官方使用Ubuntu 20.04发行版作为基础环境,推荐安装desktop版本,因为开发过程中APD的应用节点通常以qemu模拟器的形式运行,带有图形界面的方便一些。另外,wireshark的运行也需要图形界面。
还有因为APD采用的构建方式很占空间,建议安装Ubuntu的时候分配100G以上的空间(推荐150G)

2. 安装wireshark

wireshark在3.2以后的版本原生支持对SOME/IP协议报文的解析,而直接通过APT安装的版本可能较老,所以这里建议通过添加ppa源的方式,安装最新版的wireshark。具体参考Ubuntu 上 Wireshark 的安装与使用

3. 构建APD

由于APD采用了Yocto来实现嵌入式Linux系统的裁剪定制,故流程较为繁琐,有一定的学习成本。

镜像构建

该步骤直接按照官方wiki文档操作即可:https://wiki.autosar.org/doku.php?id=apd_user_guide:build:general
为了尽量符合远程调用的场景,需要构建core-image-apd-devel-radar和core-image-apd-devel-fusion两个镜像(minimal版本也可),分别运行在两个节点上,前者运行radar- fusion应用的radar service,后者运行fusion部分,作为客户端,获取radar service的数据,并进行fusion。

镜像运行

在安装官方文档运行之前,需要先进行额外操作,即进行网络配置,因为默认的自动网络配置有一些问题。配置方式如下:

sudo apt-get install uml-utilities # 安装tunctl工具
sudo ip link add br0 type bridge # 创建虚拟网桥br0
sudo tunctl -u $(whoami) # 创建一个虚拟网卡tap0
sudo ip link set tap0 master br0 # 将tap0与br0相连
sudo tunctl -u $(whoami) # 创建虚拟网卡tap1
sudo ip link set tap1 master br0 # 将tap1与br0相连
sudo ip addr add 192.168.7.10/24 dev br0 # 给br0指定IP
sudo ip link set dev tap0 up # 启动设备
sudo ip link set dev tap1 up
sudo ip link set dev br0 up                            

分别运行radar和fusion端后可以看到如下输出:

radar端

重点看[FIELD…],[Callback…]日志输出,表明serice的相应服务被调用成功了,若没有出现这类日志,说明调用失败,网络配置有问题
radar端

fusion端

可以看到有Event和Method调用成功
fusion端

4. 用Wireshark抓包

打开Wireshark,双击br0(或者tap0、tap1),对两节点之间收发的报文进行抓包。首先可以看到UDP协议的报文在两个节点之间收发,但是Wireshark貌似没有识别出SOME/IP协议,这可以通过右键任意一个UDP的报文,点击Decode as,然后在Current栏选择SOME/IP即可识别,后续的所有SOME/IP报文均会被解析为SOME/IP类型。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_381840.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于共词分析的中国近代史实体关系图构建(毕业设计:数据处理)

研究方法 为了体现一些历史人物、地点、事件的关联,需要抽取文本中的重要三元组信息。三元组信息有两种表达形式:实体-关系-实体或实体-属性-性值。对应着两种实体联系。前者称它为实体关系,如李大钊参与五四革命。后者称它实体属性&#xf…

SocketLog 的基本使用

前言: 最近在封装一个日志类时,想借鉴一下 TP 的实现方式,特别注意了一下 TP 日志的驱动。平时常用文件形式记录日志却忽略了还有一个 Socket 方式,只需要连接一下远程服务,程序在单程运行中所打的日志就会出现在浏览器…

数据库操作查看用户名和端口,以及如何Mac 版本idea 如何实现JDBC和MySql建立连接,以及如何操作数据以及连接时出现的常见错误

文章目录1.数据库操作查看用户名(1)查看用户名(2)查看端口号(3)注意事项2.json:数据交换格式。3.JDBC和数据库建立连接后,如何进行操作数据库数据4.利用JDBC连接数据库时出现:5.如何让Mac 版ide…

Deep Recurrent Q-Learning for Partially Observable MDPs(DRQN)

Abstract 深度RL已经为复杂的任务提供了精通的控制器。但是,这些控制器的内存有限,并且依赖于能够在每个决策点感知完整的游戏画面。为了解决这些缺点,本文研究了用循环LSTM替换卷积后的第一个全连接层,从而在DQN中增加循环的影响…

springBoot 源码二:各种条件注解解析

springboot各种条件注解解析 上一篇分析了springboot的自动配置过程。springboot拿到了需要自动配置的全类名,去加载那些自动配置类。就以springboot自动配置的tomcat举例。会根据不同的条件注解来判断是否加载配置类 那么springboot的条件注解有哪些呢&#xff1…

Java毕业设计-网上宠物店系统

🔥作者主页:疯狂行者🔥 💖✌java领域优质创作者,专注于Java技术领域技术交流✌💖 💖文末获取源码💖 精彩专栏推荐订阅:在 下方专栏👇🏻👇&#x1…

一文看懂yolov7;yolov7详解

*免责声明: 1\此方法仅提供参考 2\搬了其他博主的操作方法,以贴上路径. 3* 场景一:yolo v7 场景二:yolo系列未完待续 … Yolo系列强推–>Yolo v1–v5 、 Yolox 场景一:yolo v7 强推先看–>yolov7基础知识先导篇 Yolov7论文地址 Yolov7的github项目地址 操作强推…

Linux环境详解

目录 vim的详细解绍 程序运行过程(C) Linux调试器——gdb 制作进度条 在Linux中使用gitee vim的详细解绍 vim的概念 vim是一个文本编辑器(多模式的编辑器),从定位上,和记事本没有任何差别,是vi的前身 vim的主要三种模式 命令模式&a…

2022“杭电杯”中国大学生算法设计超级联赛(5)

Bragging Dice 两个人掷骰子,两人都知道对方手中和自己手中的牌数,现在有两种操作,一种是挑战,即打开盖子,看是否是前一人说的那样;另一种是声称,即给出判断,类似有x个y点的骰子这样…

[MySQL数据库部署及初始化相关]

一、MySQL安装前系统环境检测 1.selinux和iptables需要关闭 cat /etc/sysconfig/selinux sed -i s/enable/disable/g /etc/sysconfig/selinuxchkconfig --list|grep iptables chkconfig iptables off chkconfig --list|grep iptables2.I/O调度系统默认是cfq模式&#x…

IDEA 创建 Servelet 项目

本文主要讲述如何在 idea 中添加 Servelet ,适合初学者及从 Eclipse 开发工具转为 IDEA 的开发人员学习 环境介绍 系统环境:win11 开发工具版本:IntelliJ IDEA 2022.2.1 项目创建及配置流程 1.创建 Java 项目 2.添加框架支持 3.添加 classes…

如何仅使用 CSS 创建响应式网站

如何仅使用 CSS 创建响应式网站 使用 vw 和 rem 构建响应式页面。Photo by 用户体验商店 on 不飞溅 前言 从移动浏览器或应用程序访问的网站越来越多。对我来说,在空闲时间,我基本上是用手机访问网站。移动浏览器对用户来说很方便,但对开发人员来说却是痛苦的,因为屏幕大…

概述:隐式神经表示(Implicit Neural Representations,INRs)

隐式神经表示(Implicit Neural Representations,INRs)1 简介1.1 传统的隐式表示1.1.1 代数表示1.1.2 函数表示1.1.3 水平集表示(level set)1.2 什么是隐式神经表示1.3 隐式神经表示的优缺点1.3.1 优点1.3.2 缺点2 应用…

GD32(7)程序烧录及运行

目录简介启动方式Boot00,Boot1xBoot01,Boot10Boot01,Boot11烧录方式ICPISPIAPIAP的作用IAP与ICP、ISP的运行差别IAP的Bootloader程序实现IAP的APP程序实现简介 微控制器在硬件中作为核心,通过执行保存在内部存储器中的程序&#x…

网站安全防护措施有哪些

想要我们的网站在网络中安全稳定运行,网站安全防护是不可或缺的环节,那么网站安全防护需要做哪些措施呢,这些措施能起到什么作用呢,接下来一起跟着小编一起来看看吧。 服务器安全狗和网站安全狗2022新版更新 更有效帮助用户防护网…

精品基于Uniapp+SSM实现的公园植物介绍APP

《[含文档PPT源码等]精品基于UniappSSM实现的公园植物介绍APP[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具: 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务…

设备通过国标GB28181/海康Ehome接入EasyCVR,视频无法打开的原因分析及解决方法

EasyCVR平台支持多类型设备、多协议方式接入,包括市场主流标准协议国标GB/T28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。平台可将接入的流媒体进行处理及分发,分发的视频格式包括RTSP、RTM…

Swift Practice # 172 Swift 取得网页资料并制作台湾乡镇气象连结JSON

Swift Practice # 172 Swift 取得网页资料并制作台湾乡镇气象连结JSON 上一篇解决了使用Google Admob套件所产生的Link问题,让广告可以顺利显示。 [ Swift Practice # 171 Google Admod 闪退之-ObjC Linker 与SPM 上一篇简单的练习改变SwiftUI Map的显示比例,达到所有显示资料…

python3 词频统计计数分析+可视化词云 jieba+wordcloud 数据分析

hi, 大家好,我是宋哈哈,今天分享一个利用 python 的 jieba 库 和 wordcloud 词云库 做一个字符串的词频分析和词云可视化 编程环境: python 版本:3.6.8 编辑器:pycharm 2020.1.3 专业版 系统环境&#xff1…

使用聚类(K-means)分析方法对骑手进行分类标签定义

什么是聚类分析 聚类分析的目标就是在相似的基础上收集数据来分类,属于无监督学习。就是通过行为数据,通过算法将相似的人群聚集在一起,形成不带标签的人群簇。再人为的对人群簇进行分析,寻找特征标签。 一、数据构建 根据骑手的…