题图来自 Decoding Rust: Everything You Need to Know About the Programming Language[1]
ZoomEye 支持公网设备指纹检索和 Web 指纹检索。网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等。设备指纹包括应用名、版本、开放端口、操作系统、服务名、地理位置等直接输入关键词即可开始检索。
要想测试网卡的传输速度,可以使用UDP或TCP,自己写一段收发程序,实现起来并不复杂。不过,VxWorks6/7里已经封装了一个比较完整的工具 - sockperf
来自404实验室安全研究团队的对于VxWorks 工控实时操作系统进行的 Fuzzing 与漏洞挖掘调试、利用的安全探究。 0x00 前言 关于VxWorks,这里引用44CON议题《攻击 VxWorks:从石器时代到星际》探究(http://www.freebuf.com/vuls/78277.html) 一文章中的介绍: VxWorks 是世界上使用最广泛的一种在嵌入式系统中部署的实时操作系统,是由美国WindRiver公司(简称风河公司,即WRS 公司)于1983年设计开发的。其市场范围跨越所有的安全
实时操作系统(Real Time Operating System,简称RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任,并控制所有实时任务协调一致运行的操作系统。
FTP分两部分:Server和Client。Server监听网络上其它设备(Client)的连接请求;Client连接到Server后,可以操作Server的文件,例如上传、下载、改名、删除等。VxWorks既支持Server,也支持Client。
VxWorks7&WorkBench4的Debugger界面与之前的版本有了一些变化,甚至已经没有Target Server和WDB Agent这两个词儿了,取而代之的是Target Connection和Debug Agent。今天来看看具体如何使用
前几个月换了一个新工作,Windows端完全转入了Linux服务器端,语言也彻底变成了C,偶尔夹杂着C++。对于我来说,之前的Vxworks,Qt,VS之类的IDE之下的调试定位也完全都没用了,最近一直在做提测项目,对问题定位,查找问题也有了一定的了解。 在这简单说一下,最近的定位调试命令。
Armis研究团队在VxWorks中发现了11个零日漏洞,VxWorks可能是使用的最广泛的操作系统。VxWorks被超过20亿台设备使用,包括关键的工业,医疗和企业设备。
本文章结合作者在资产探测、入侵检测、网络攻防、蜜罐研究相关工作中大量实践,在此对工控蜜罐识别与反识别的技术进行研究与应用实践与大家进行分享与探讨。
带您三分钟快速浏览军工量测系统典型应用,包括基于VxWorks的火箭发射仿真系统,地面武器仿真训练系统,光电侦察装备测试系统,军舰电子装备测试系统,军用无人机风洞数据采集与控制系统,航天器碰撞检测系统,雷达波实时采集分析系统。
连接Target Server后,Host端可以启动一个叫Host Shell的工具
组件INCLUDE_VRFS,virtual root file system。这是一个虚拟的文件系统,仅是提供了一个POSIX风格的虚拟根目录"/"。在这个目录里,可以看到其它以"/"开始,且只包含一个"/"的设备
在VSB的Source Build Configuration里依次enable以下Layer
如果硬件还没到位,软件如何开展工作?可以使用《Tool之Simulator》或者《Vx7之VmWare》。不过VmWare WorkStation是收费的(哪位知道价格),只能用免费的VmWare Player。有朋友提示可以考虑免费的VirtualBox,今天就试试这个VB 还是分四步走吧 VirtualBox 官网下载VirtualBox和Extension Pack https://www.virtualbox.org/wiki/Downloads
Wind River提供了一个叫做System Viewer的工具 (VxWorks5时叫做WindView),这就是一个嵌入式软件的逻辑分析器,能够将复杂的Target活动可视化,可用于故障定位
WindRiver在2005年收购了一套叫做ScopeTools的软件。其中包含一个MemScope,不过从Vx67开始,改名为Memroy Analyzer
说到StarlingX,要先说两个公司,(Intel)英特尔和WindRiver(风河)。英特尔我们都知道是美国一家主要以研制CPU处理器的公司,是全球最大的个人计算机零件和CPU制造商,它成立于1968年,具有50年产品创新和市场领导的历史。那么风河是家什么样的公司呢?
PCI,Peripheral Component Interconnect,在PC中广泛使用,几乎所有的主板产品上都带有这种插槽,主要用于连接显卡、网卡、声卡等外设
[vxWorks *]# rtp exec [-s | -c] [-i] [-g | -a | -z] [-x | -X] [-p <priority>] [-u <stacksize>] [-o <rtpOptions>] [-t <taskOptions>] [-v <level>] [-e name=value] <filename> [--] [args] [&]
有了它,就可以使用vxbSysClkShow()查看系统时钟的基本属性,包括最大和最小Rate,以及Frequency
VxWorks在运行时,一般都会使用一个Console,提供基本IO操作,例如:显示printf()的输出、提供Kernel Shell服务等等。
2010 年 6 月,一个名为 Stuxnet处于休眠状态的病毒潜伏在伊朗的铀浓缩设施网络中,Stuxnet在位于纳坦兹的离心机中被激活,控制了30%的纳坦兹设施的计算机,致使伊朗暂时关闭了核设施和核电厂,震网病毒感染了全球超过20万台电脑,摧毁了伊朗浓缩铀工厂五分之一的离心机。震网病毒的感染途经是通过U盘传播,然后修改PLC控制软件代码,使PLC向用于分离浓缩铀的离心机发出错误的命令。
美国密歇根大学的研究人员发现,像电影中那样接管城市交通让所有交通灯都切换到绿灯制造混乱并非遥不可及,实际上只要手上有合适的无线电,任何笔记本电脑用户都能做到。 研究人员描述了他们如何从一个接入点控制约
使用VIP编译VxWorks Image时,可能会遇到某些组件不可选,甚至找不到的情况
在开发Embedded RTOS时,多是采用交叉式的开发方式,VxWorks就是一个典型代表。运行VxWorks的远程设备,称之为Target;运行IDE(例如Workbench、Tornado)的本地设备,称之为Host。貌似也有人跟它们叫下位机和上位机。
编译系统镜像时,不可能把所有源码都放到一起,需要把一些固定下来的代码编入库文件。VxWorks内核态用到的静态库是后缀为a的archive文件,GNU提供的ar命令用于管理这种文件
Shell提供了很多函数 -《Component之Kernel Shell的命令》,多的记不住。而且在vi模式下,有大量的命令。其实Shell还提供了几个快捷键
CX9020是倍福公司生产的PLC,运行Microsoft Windows Embedded Compact 7操作系统,广泛运用在运动控制领域。
bootrom或VxWorks镜像一般可以编程成多种文件类型,例如bootrom、bootrom.bin、bootrom.hex、bootrom.pxe、vxWorks、vxWorks.bin等
风河引以自豪地宣布,VxWorks实时操作系统(RTOS)助力NASA洞察号探测器(InSight Lander)完成火星之旅重要里程碑,开始向红色星球减速12300mph并已成功着陆。风河VxWorks被应用于洞察号探测器的航空电子系统,助力NASA完成了此项任务,这是继2012年火星科学实验室好奇号任务之后,风河RTOS系统再次登陆火星。着陆后,洞察号将钻入火星表面,在2020年11月24日之前,它都将留在火星执行科学任务并收集有关这颗星球如何形成的数据信息(相当于火星上的一年零40天,或接近两个地球年)。
根据VxWorks69提供的内存Show命令,封装了一个函数,可以查询某个Task已申请但未释放的内存。已验证了Vx69的Kernel Task
很多人在看到某个Task的ERRNO不为0时,会担心哪里出了问题。其实单独的ERRNO并没什么事儿,一般都不用管它。好了,可以拉到最后点赞了。
包含了它之后,VxWorks就会调用usrSerial.c的usrSerialInit()来加载串口设备
在《Tool之TargetServer(vx6)》里介绍了Workbench下如何启动TargetServer来连接WDB,今天看看Tornado里的操作
我以往的经验,这样情况多是地址错误引起的,而主要的地址错误就是栈溢出(或者叫栈越界)。我们写个例子模拟一下
在《Task之调度策略》里介绍了VxWorks的主要调度策略,而有了RTP之后,系统又是如何调度的呢?其实非常非常简单:RTP不参与调度,VxWorks还是使用之前的调度策略,即所有Task基于优先级抢占,以及默认关闭的时间片轮转。这确保在任何给定的时刻,系统中准备运行的最高优先级Task都将执行,而不管该Task是在内核中还是在任何进程中。相比之下,非实时系统主要使用分时调度策略,以及动态调整进程优先级,以确保没有进程会长期无法使用CPU,并且没有进程独占CPU。VxWorks的时间片轮转也是一种分时策略,但它不会干扰优先级的抢占,因此它具有确定性,保证了实时性。
VxWorks在物理设备上运行时,如果要使用图形库(例如WindML、Zinc、Tilcon、QT等等),就需要使用相应显卡的驱动。遗憾的是,所有显卡厂家基本都不会发布VxWorks版本的驱动。幸运的是,所有显卡都支持VBE - VESA BIOS Extensions。VESA - Video Electronics Standards Association,是一个制定视频显示标准的国际组织。因此,WindRiver只需要提供一个VESA驱动,VxWorks就可以使用绝大多数的显卡了。
Kernel Shell是VxWorks系统的一个Component(组件),是在Target端驻留的命令行。可以通过系统默认的全局IO来访问,即多数架构的串口0或者X86架构的PC Console;也可以通过Telnet或rlogin进行远程访问。
ScopeTools里还有个成员叫做ProfileScope,从Vx67开始,改名为Performance Profiler
航空软件并不神秘,从计算机架构上来说,同普通的计算机系统并无太大区别,都是由处理器,总线,I/O设备,存储设备,网络设备,通讯设备,操作系统和应用软件所构成的。仅仅是为了满足很高指标的可靠性,健壮性和实时性,而采用了另一套东西而已。
PV操作是计算机领域一个有名的术语。它由荷兰人Dijkstra提出,是一种典型的同步机制,P(荷兰语passeren)表示通过,V(荷兰语vrijgeven)表示释放。
DKM,就是Workbench里的Downloadable Kernel Module project,这种工程用于管理/构建系统内核空间里的应用模块
默认情况下,在Tornado2.x/VxWorks5.x里,Host端动态加载应用程序后,Target端是看不到的,当然也就无法调用/访问了。多数人在工作时,习惯动态加载应用程序,如果没有开Host Shell,用的是Target Shell,例如通过Telnet或者串口,那就不能调用动态加载的应用程序。例如Host Shell里的ld<a.out,在Target Shell里用moduleShow(),是看不到它的,也无法使用a.out里的函数。同样,Target端加载符号后,Host端也是看不到的,例如Target Shell里的ld<b.o,在Host Shell里也是看不到的。如果在VxWorks里包含组件"synchronize host and target symbol tables",Target Server里选中"Synchronize Target/Host Symbol Tables"选项
有了Disk,它还只是一个Device,一般在使用时,还要在Disk上创建块设备,并将这个块设备格式化。而格式化为哪种文件系统,就看具体需求了。
刚刚发布的VxWorks 7 24.03集成了一个Benchmark Suite:rtos-benchmark。这个测试涵盖了Task/Thread、Mutex、Semaphore、Message queue等领域,并支持VxWorks API和POSIX API两种标准。今天把它跑了跑,步骤如下
对于Vx5和Vx6来说,这个Package通常包含了一堆C文件、几个汇编文件、几个cdf文件、一些头文件、一个makefile文件、一个readme文件(版本信息),和一个target.ref文件(这个BSP的专属文档)。到了Vx7,BSP被大大简化,主要成分就是cdf和dts文件了
虽然现在64位处理器越来越多,而且VxWorks也从6.9开始提供64位处理器的支持,但是目前VxWorks更多的应用场景还是32位的。那么VxWorks在32位处理器上最多可以使用多少内存呢?
领取专属 10元无门槛券
手把手带您无忧上云