齐安安小课堂 | 串口数据抓取以及串口数据模拟


齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图
各位同学们好 , 好久不见!
齐安安小课堂又双叒叕开课啦~
本期来讲讲在工控现场使用的设备中
有哪些普遍存在又容易被忽视的安全隐患
只有重视每一个小细节
才能对工业安全做出更好的防护哦~
引言
在工控现场中 , 存在着几乎所有设备都离不开 , 很基础 , 但是也非常容易出现安全隐患的地方——串口 , 那么串口是什么呢?串口通信是否有风险?本次小课堂中我们将带来解答 , 并详细描述如何对串口进行安全攻防 。
? 什么是串口?
串口全称为串行通信接口 , 串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去 , 同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件 。 一般完成这种功能的电路 , 我们称为串行接口电路 。
工控现场中 , 所拥有的大部分网络设备都具备了串口通信 , 甚至将串口保留为最基础的调试接口 , 即使没有外接串口设备 , 我们也可以在PCB板上找到串口接出的pin针脚或焊点 。 如果工控设备没有对串口进行加密读取的话 , 就会产生对串口进行敏感数据操作可能性 。
本文将模拟硬件与串口进行通信时及串口数据传输时对数据进行抓取和分析的过程 , 将模拟抓取到的数据发送给下位机 , 以此验证不经过系统时是否可以直接通过串口发送数据到下位机 。
串口的主要运用场景
串口是计算机上一种非常通用的设备通信协议 。 大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口 。 串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口 。 同时 , 串口通信协议也可以用来获取远程采集设备上所产生的数据 。
RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准 。 用途诸多 , 比如连接鼠标、打印机或者Modem , 也可以连接工业仪器仪表 。
STM32串口通信基础以及通信过程
通常PC机(或上位机)一般使用的都是RS232接口(通常为DB9封装) , 不能直接交叉连接 。 RS232接口是9针(或引脚) , 常常是TxD和RxD经过电平转换得到的 。 所以 , 要想使得芯片与PC机的RS232接口直接通信 , 需要也将芯片的输入输出端口也电平转换成rs232类型 , 再交叉连接 。
齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图
经过电平转换后 , 芯片串口和rs232的电平标准是不一样的:
单片机的电平标准(TTL电平):+5V表示1 , 0V表示0;
Rs232的电平标准:+15/+13 V表示0 , -15/-13表示1 。
齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图
▲图示串口通信过程
进行操作时使用的工具
齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图
Virtual Serial Port Driver模拟串口
齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图
友善串口调试工具 , 也可自己使用python包serial进行调试 , 示例为了操作方便使用工具 。
齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图
串口数据抓取
开始监听com口数据
抓取的数据如图所示
齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图
【齐安安小课堂 | 串口数据抓取以及串口数据模拟】抓取的数据如图所示
齐安安小课堂 | 串口数据抓取以及串口数据模拟文章插图