![](https://img-blog.csdnimg.cn/b6efb78a860842ce98b0a5f2ef5a22c2.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【付费专栏】车载以太网协议
文章平均质量分 80
介绍车载以太网协议相关知识:
1. TCP/IP协议:ARP、ICMP、IP、UDP、TCP等
2. 工具的使用:adb、xcap、nmap、iperf等
3. 具体测试用例的多种思路
4. 从初学者的角度带你入门,告诉你更多细节与干货
优惠券已抵扣
余额抵扣
还需支付
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
汽车通信技术
汽车通信技术专家。专注于车载网络诊断以太网测试与网络架构需求开发。涉足:汽车,网络,诊断,以太网,CANoe,SOMEIP,DoIP,TSN,SOA,Python,测试等。独立开发课程《CAPL编程语言系统性课程》《车载以太网通信测试》。
展开
-
X.509数字证书的签名和指纹
X.509 是一种非常普遍的数字证书标准,由国际电信联盟(ITU)制定。它定义了证书的格式和一种验证证书有效性的方法。X.509 证书的结构遵循特定的语法和编码规则,通常使用 ASN.1 (Abstract Syntax Notation One) 进行描述和编码。原创 2024-04-25 18:15:53 · 189 阅读 · 0 评论 -
协议栈对于源或目标IP地址为广播IP的ARP请求是如何处理的
当ARP请求的源IP地址为广播IP时,接收方的ARP模块在解析ARP报文时,并没有判断源IP的步骤,只判断目标IP地址,所以会回复响应。所有收到广播ARP请求报文的主机都会通过报文里的目标IP地址和自己的IP地址进行比较,判断此报文的目标主机是否是自己,如果不是,就没必要回复。在我们的认知中,广播是对网络内的所有主机发送报文,广播IP地址表示网络内的所有主机,应当被所有主机所认同。可以看出:目标主机的IP地址必定是一个单播IP地址,所以ARP请求报文里的目标IP地址通常都是设置为指定主机的单播IP地址。原创 2024-03-14 10:33:22 · 195 阅读 · 0 评论 -
TCP流量控制
TCP传输通过好几种方式控制数据流量。原创 2021-04-07 14:33:30 · 336 阅读 · 0 评论 -
TCP/IP协议都有哪几层协议
收到传输层数据transportHeader+data,把transportHeader+data作为网络层的payload,把网络层协议内容(ipv4/ipv6,scrIP,dstIP,protocol(表明上层传输层的类型tcp/udp)等)以网络层首部ipHeader的形式,添加到网络层的payload前面,封装成ipHeader+transHeader+data,送给数据链路层。路由器,网络层设备,可以处理网络层首部的信息,可以转发可以处理,也有交换机的功能。原创 2021-03-16 16:13:10 · 4343 阅读 · 0 评论 -
如果你是IP,你会怎么选
如果你是网络层,你更喜欢icmp、tcp、udp三种报文中的哪一个?如果你了解MTU和MSS,那你应该很容易做出选择就像选择对象一样,你首先要了解对方是谁,有什么优缺点,能给你带来什么。原创 2021-03-21 18:15:00 · 317 阅读 · 0 评论 -
什么是分片标志位
如果你看过前面MTU和MSS的文章,你应该知道数据如果太大,在传送中极易丢失,故而在网卡上对每条数据帧的大小做了限制,这就是MTU,它的意思是从网络层发到二层的数据(ip头+ipPayload),不能大于MTU,如果大了就会丢弃,这就要求数据包在网络层要把数据包分成符合MTU大小的分片包。但是,有的报文为了数据的完整性,并不想在网络层由于MTU的关系而进行分片,它宁愿丢弃,也不愿意分片后发送,这个怎么办呢?原创 2021-03-29 21:56:56 · 1850 阅读 · 0 评论 -
聊聊tcp和udp那些事
当主机A发送完数据后,主动发起关闭连接请求,这时候主机B收到关闭连接的请求,先回复一个确认信息给A,同时B这边不再接收数据,A收到确认信息后,也不再具有发送数据的能力,这是一个半关闭的状态。主机A虽然不具有发送的能力,但是有接收的能力,主机B虽然不具有接收的能力,但是有发送的能力,此时如果主机B还有数据未发送,仍然会继续发送,直到发送完毕。这就是udp的传输过程,你只要有数据,知道对方在哪,你就一个劲地扔,你并不会问对方在不在,也不关心我的东西有没有掉,更不关心对方是不是会砸到头。原创 2021-04-01 21:11:44 · 264 阅读 · 0 评论 -
TCP状态转换
TCP在三次握手和四次挥手的过程中,会经历不同的状态转换。原创 2021-04-01 21:56:17 · 475 阅读 · 0 评论 -
集线器、交换机、路由器、猫
工作在物理层共享一个冲突域,共享一个广播域半双工工作在数据链路层同一个网段内主机的通信根据MAC地址表工作分割冲突域,共享广播域。原创 2021-03-19 17:28:35 · 945 阅读 · 0 评论 -
大端与小端
在乔纳森·斯威夫特的著名讽刺小说《格列夫游记》中,小人国内部分裂成Big-endian和Little-endian两派,区别在于一派要求从鸡蛋的大头把鸡蛋打破,另一派要求从鸡蛋的小头把鸡蛋打破。斯威夫特借以讽刺英国的政党之争,在计算机工业中指数据储存顺序的分歧。原创 2021-03-19 16:53:44 · 918 阅读 · 1 评论 -
路由器的工作原理
路由器是设备对外通信的窗口,是不同局域网互联互通的桥梁,认识和了解路由器的工作原理,不管是工作中还是生活中,都是有意义的路由器路由器,Router,负责不同网络之间的通信,充当网关的作用。根据目的IP地址,通过内部路由表查找最佳路径,把IP数据包转发到下一个设备,实现不同网络、不同网段间的通信路由器的两个功能:路由,转发路由器工作在:网络层路由器端口分为内网口和外网口,它们有各自的IP地址和MAC地址,内网口连接各种设备主机,外网口连接其他网络内部结构逻辑上由:输入/输出接口、数据.原创 2021-03-20 18:13:40 · 1430 阅读 · 0 评论 -
TCP/IP-浅谈单播、广播、组播、IP地址、MAC地址、交换机
首先必须明白两点:网络的MAC层提供单播,广播,组播服务,网络是否具备单播,广播,组播能力,由MAC层是否提供单播,广播,组播服务决定网络的IP层设置单播,广播,组播方式,根据IP地址,包括IP单播地址,IP广播地址,IP组播地址,IP层的单播,广播,组播在送往MAC层时,要在MAC层进行映射10M以太网10M的以太网就是只能提供广播MAC服务的网络,所以即使它根据IP地址填写了单播MAC地址,但是它的收发实际上都是广播的100M以太网100M的以太网不同,100M以上的以太网必须以交换原创 2021-03-17 10:58:34 · 3504 阅读 · 0 评论 -
什么是组播地址
组播并不像单播,有一个明确的目的主机和IP地址,也不像广播,局域网内的所有主机都是目的主机,广播IP地址也明确(主机标识全部置为1)。组播不同,它并不知道要把信息发给谁,因为谁都可能随时加入组播组,谁都可能随时离开,不可能用某一个主机的IP地址作为组播地址”原创 2021-03-10 10:13:31 · 20895 阅读 · 0 评论 -
详解RFC 3550文档-2
它们可以被视为RTP级别的“中间系统”。原创 2023-08-28 13:26:18 · 348 阅读 · 0 评论 -
详解RFC 3550文档-1
rfc 3550描述了实时传输协议RTP。RTP提供端到端的网络传输功能,适用于通过组播或单播网络服务传输实时数据(如音频、视频或仿真数据)的应用。原创 2023-08-21 14:03:20 · 430 阅读 · 0 评论 -
详解RFC 793文档-4
一旦连接建立,数据就通过交换数据段进行通信。由于错误(校验和错误)或网络拥塞可能导致数据段丢失,TCP使用重传(超时后)来确保每个段的交付。由于网络或TCP重传,可能会到达重复的段。对于重复段,TCP对段中的SEQ和ACK号执行某些检测,以验证它们的可接受性。原创 2023-08-17 17:02:37 · 337 阅读 · 0 评论 -
详解RFC 793文档-3
三次握手用来建立连接,这个过程通常由一个TCP发起,并由另一个TCP响应。如果两个TCP同时启动该过程,该过程也可以工作。这说明客户端和服务器可以同时发起连接请求,且能够连接成功。当同时尝试连接时,每个TCP在发送自己的SYN后接收到一个不携带任何ACK确认的SYN。原创 2023-08-15 16:15:40 · 381 阅读 · 0 评论 -
通信端点(应用端点)与套接字的关系
为了实现以太网通信的分层与解耦,应用程序通常并不直接驱动TCP/IP协议栈发送以太网数据包。它们通过所在系统提供的一个叫做套接字的东西,调用套接字的接口函数创建套接字处理程序。用套接字处理程序发送自己的应用数据。原创 2023-05-08 17:25:00 · 526 阅读 · 0 评论 -
Socket是如何通信的
如果你学过编程语言,一定接触过socket套接字,即使你不懂tcp/ip协议,你也可以用socket通过网络发送和接收数据Socketsocket套接字,对网络中不同主机上的应用进程之间进行双方通信的端点的抽象,提供了应用层进程利用网络协议交换数据的机制套接字向上连接应用程序,向下连接网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议进行交互的接口为什么要有socket?如果没有socket,应用程序的程序员要精通底层硬件操作和网络通信底层的协议,应用程序需要和网络.原创 2021-03-25 10:24:33 · 856 阅读 · 0 评论 -
如何计算IP或ICMP协议首部里的checksum字段
协议层的首部里都会有一个校验字段checksum,由发送端计算和存储,由接收端验证,用来保证报文在传输过程中的完整性checksum的计算方法多样,而对于IP Header和ICMP Header中的checksum,采用相同的计算方法-加法校验和算法计算校验和IP Header中的checksum只校验IP首部,不校验数据部分ICMP Header中的checksum校验ICMP首部和数据部分反码求和法反码求和法,是先求和,然后再取反发送时将校验和字段设置为0每16个bit(即.原创 2021-04-12 14:57:42 · 2766 阅读 · 0 评论 -
交换机的工作原理
交换机是局域网的重要组成部分,是分割冲突域、实现单播的关键,了解交换机的工作原理,就显得尤为重要下面的内容全部不涉及vlan tag,vlan后续会讲MAC地址表前面的文章介绍过交换机的由来和作用,这里不再赘述。我们讲一下交换机最重要的一个东西-MAC地址表MAC地址表MAC地址表是交换机维护的,用来根据接收到的数据帧的destinationMAC,在MAC地址表内查找对应的端口号,然后把数据帧从这个端口号发送出去交换机上电启动后,MAC地址表一片空白,无任何动态表项(可以利用断电擦除.原创 2021-03-20 17:28:20 · 419 阅读 · 0 评论 -
直连的不同网段的两台主机如何通信
今天我们来看一下,如何让两台直连的主机,配置不同网段的ip地址后,还可以ping通。同时从中可以了解些什么?环境配置准备两台电脑,系统是Ubuntu的,用一根网线把它们的网络接口连起来在Ubuntu的终端下配置它们的ip地址:A主机的本地网卡eth0配置192.168.1.100/24B主机的本地网卡eth0配置192.168.3.100/24打开B主机的wireshark抓包工具,在本地网卡eth0上抓包执行步骤首先在终端下用ifconfig配置好两台主机的ip地址后,在A主机的.原创 2021-03-27 18:36:05 · 5510 阅读 · 2 评论 -
全网最全最详细的ARP协议介绍
ARP,Address Resolution Protocol,地址解析协议,解析IP地址得到MAC地址,基于数据链路层之上的协议,可以看成和网络层同一层级,通常称为2.5层协议,ARP是网络层与数据链路层的重要枢纽,它解决了网络层(软件)到数据链路层(硬件)的映射ARP请求报文数据通信的基础是在以网卡为硬件的数据链路层发送和接收的,如果想实现两台主机通信,必须知道目标主机的硬件地址,即MAC地址主机A想要发送数据给主机B,我们知道发送网络报文是一个封装的过程,数据需要在应用层、传输层、网络.原创 2021-03-23 10:12:44 · 7666 阅读 · 0 评论 -
Server端的套接字
我们知道,客户端和服务器的应用程序通过调用socket接口驱动TCP/IP协议栈进行通信,socket通过绑定(ip, port)并监听来接受对方的连接请求(TCP)或数据(UDP),对于服务器里的程序来说,它要同时和不同的客户端的程序进行通信,那是否表示它要创建不同的socket,绑定并监听在不同的(ip, port)上呢,答案是并不需要UDP对于UDP来说,客户端和服务器是无连接的通信,所以服务器并不需要对不同的连接做标记TCP而对于TCP来说,客户端和服务器传输数据前和后,都需要建立连接和.原创 2021-09-07 16:14:24 · 435 阅读 · 0 评论 -
TCP Socket在客户端和服务器中是如何建立连接的
TCP Socket在Client和Server中是如何建立连接的Server先调用函数创建tcp socket,创建的是一个“主动”套接字对象然后用这个套接字调用bind函数,传入ip和port参数,绑定ip和端口号接着调用listen函数,监听在这个端口上,等待客户端的连接请求,这一步可以让socket收到客户端的SYN报文,但是收到后协议栈并不会自动回复SYN+ACK,自动回复需要调用accept函数最后调用函数accept,如果有请求过来(SYN报文),就会让Server端原创 2022-01-18 19:07:09 · 2205 阅读 · 0 评论 -
DHCP协议实例化分析
用wireshark抓取DHCP客户端和DHCP服务器之间动态分配IP地址和配置参数的完整过程,如下图所示:以下图片只截取了DHCP协议层的字段有几个重要的字段:这个字段表示DHCP消息的类型,它有两个值,1是Boot Request,2是Boot Reply可是,DHCP有很多的消息类型,比如Discover、Offer、Request、Ack等等。要怎么用这两个值区分这么多的消息呢?我们知道DHCP协议采用C/S模式,一问一答,客户端的请求消息就是Boot Request,服务器的响应消息就是Boot原创 2022-06-09 15:10:47 · 721 阅读 · 0 评论 -
详解RFC 793文档-2
这里提出一个疑问:TCP首部中Data Offset字段表示TCP首部长度,但是没有字段表示首部加上数据部分的长度,或者字段表示数据部分的长度。这样对于接收方来说,就无法计算出这条TCP段的数据字节数。是这样吗?不是的!因为网络层IP首部中有一个字段Total Length表示IP首部加上数据部分,IHL字段表示IP首部长度,那么Total Length减去IHL就是IP数据部分的长度,也就是TCP段的整个长度。知道了TCP段的长度,减去Data Offset,就知道了TCP的数据字节数。原创 2022-10-27 16:45:50 · 1247 阅读 · 0 评论 -
Python-网络编程中数据的打包与字节流的解包
传入的第一个参数是格式,还是">HBI4B",意思是按大端,也就是高字节开始解析,HBI4B表示2字节、1字节、4字节、1字节、1字节、1字节、1字节,这样划分成不同的7个数字,存入一个元祖中返回,所以打印的结果为(258,3,4,17,34,51,68)struct.pack_into()可以把数据打包成字节流放入缓存区的指定位置,参数1为打包格式,参数2为缓存区,参数3为offset,也就是从缓存区的哪个位置开始存入,参数4开始就是要打包成字节流的数据。...原创 2022-07-27 16:06:26 · 966 阅读 · 0 评论 -
用python-scapy模块发送各类型以太网报文
pythonscapy模块可以指定网卡并批量发送以太网报文,尤其对于网络扫描攻击而言,方便快捷。原创 2022-08-01 17:37:56 · 1625 阅读 · 0 评论 -
用工具刺探主机通信和用系统ping命令有何区别
ping是操作系统自带的命令,经常用来刺探对端主机是否在线,通信能否畅通。它的原理是在调用ping命令时驱动TCP/IP协议栈的ICMP模块发送icmp echo request消息,待对方主机的ICMP模块收到后,会自动回复icmp echo response消息。本方收到icmp echo response即可确认对方主机在线,通信正常。原创 2022-09-22 15:29:38 · 1309 阅读 · 0 评论 -
adb安装及使用大全
adb shell的作用是在pc端远程打开了连接的android设备的linux壳shell,可以通过pc端的dos命令窗口输入linux命令来操作连接的android设备,相当于是打开了一个可以远程操作android系统的窗口。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上。但是我们的重点并不在命令上,命令网上随便搜搜多的是,我们重点想要了解的是:什么是adb?原创 2022-09-20 14:45:03 · 482 阅读 · 2 评论 -
车载以太网测试:从入门到入土
本文针对具体项目的车载以太网测试要点进行的梳理,所以除了包含TC8一致性测试以外,着重关注ECU的以太网配置参数,比如MAC地址,IP地址,应用程序绑定的端口号,VLAN等。当然,下面列举的测试要点并不完全,后续会不断完善并更新此篇文章。虽然针对车载以太网的所有测试用例还没有写完所有文章,但是想先整理出车载以太网不能说全面但是大致的测试用例,不管是针对后续的文章写作计划提前梳理,还是刚入门的朋友的一个指引,都能起到很好的作用。原创 2022-09-10 11:40:47 · 4292 阅读 · 0 评论 -
换个角度理解TCPIP协议
换个角度理解TCP/IP协议原创 2021-03-12 17:43:15 · 466 阅读 · 1 评论 -
大端与小端:显示、存储和读取
在文章《大端与小端》中,简单介绍了什么是大端与小端。就像打碎鸡蛋一样,你可以从大的那头打,也可以从小的那头打,但是鸡蛋还是那个鸡蛋。数据也是一样,你要么从高位存储或传输,要么从低位存储或传输,但是数据还是那个数据,它的大小是不会变的。...原创 2022-08-11 12:01:12 · 1190 阅读 · 0 评论 -
实现ASN.1编码和解码的两种方案
很久之前写的文章,趟在收藏夹里都快吃灰了,这篇是对之前ASN.1的文章的一个补充ASN.1标记的数据编码和解码有两种方式举个例子ASN.1的结构体为xxxxAssignmentNotification-Notification ::= SEQUENCE { installationorder UUID, isotimestamp ISOTimeStamp, newstatus PrintableString(SIZE(0..35)), reason Prin.原创 2022-05-24 19:22:14 · 1794 阅读 · 0 评论 -
网卡信息知多少
网卡是网络通信的硬件基础,查看网卡信息、配置网卡是网络通信调试中的很常见的动作网卡Network Interface,很多地方简称iface,是一块允许计算机在网络上进行通信的计算机硬件。从它的英文名称也可以看出,它是数据发送和接收的接口查看网卡信息eth1网卡名称Link encap网卡的接口类型,这里是以太网HWaddr网卡硬件地址,mac地址inet addripv4地址Bcast广播地址Mask子网掩码inet6 addripv6地址UP表示网卡是否开启.原创 2022-05-08 16:07:47 · 1211 阅读 · 1 评论 -
ARP报文的存入条件和回复条件
我们知道ARP请求是为了请求目的主机的MAC地址,ARP响应就是目的主机给请求者的回答,当然这些都是ARP协议层程序自己完成的。如果有人打起了歪主意,伪造了ARP报文,就会影响通信。现在我们深入了解ARP报文各字段填充不同信息后,如何影响接收端的ARP缓存表存入和回复环境搭建硬件两台windows10电脑,网线直连,ipv4地址配置到同一个网段,其中一台作为发送方,另一台就是接收方软件有很多工具可以构造报文,比如xcap,这里使用python语言的scapy模块(后续会讲到)ARP请求报文.原创 2022-05-05 19:49:30 · 1531 阅读 · 0 评论 -
VLAN介绍-全网最全
VLAN在企业级网络和多功能的设备中,是不可或缺的。了解什么是VLAN,VLAN的用途,VLAN在主机、交换机和路由器中如何设置,这些都可以让我们对VLAN有个全面的认知VLANVLANVirtual Local Area Network,虚拟局域网,能够将网络分割成多个广播域广播域指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围为什么需要VLAN公司内所有部门主机同在一个广播域,某主机想广播信息给同一部门的人,又不想让其他部门的人收到又比如某主机发送的.原创 2022-05-05 19:39:06 · 1665 阅读 · 0 评论 -
测试ARP缓存表的动态条目的老化时间的两种方案
ARP缓存表中的动态条目是有老化时间的,如何测试老化时间,以及在分析如何测试的过程中,我们能对ARP协议有一个怎样的理解,这是本篇的重点ARP缓存表什么是ARP缓存表ARP缓存表是为了避免在已经通过ARP请求获取到目的主机的MAC地址时,由于没有保存,而造成接下来的每次通信都必须ARP请求目的MAC通过把对方主机的ip地址和mac地址存到自己的ARP缓存表,那么再想发送报文给对方主机时,只需要查找ARP缓存表,看是否有目的ip对应的目的MAC即可,避免了频繁地发ARP请求,造成网络负担.原创 2022-05-05 19:29:31 · 931 阅读 · 0 评论 -
SSH协议-看这篇就够了
在学习防火墙规则时,会基于port端口添加一些过滤规则,如果想验证这些规则是否生效,就需要一种简单高效的方式,和主机的端口进行通信,然后根据通信结果,判断防火墙规则有没有起到拦截的作用,这种简单高效的方式,就是ssh远程连接ssh协议Secure Shell,安全外壳协议,简称ssh,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证,可在不安全的网络中对网络服务提供安全的传输环境,实现ssh客户端和ssh服务器端的连接,所以ssh是基于C/S结构的ssh协议建立连接的过程为:.原创 2022-05-05 19:06:02 · 391 阅读 · 1 评论