optoblog

使用Wireshark调试您的工业网络

发表 马特·牛顿2017年2月28日上午8:00:00

请注意,下面的信息不仅适用于PC,PAC和PLC,还适用于几乎所有符合行业标准的网络设备。

今天有大量出色的网络分析工具,您可以为此支付巨额资金。但是,首选的行业标准,以及我的日常网络故障排除的首选工具,是一个名为Wireshark的免费软件。

Wireshark.png在Wireshark和Windows运行之前,一个名为Ethereal的谦虚的开源数据包分析仪与像我这样的网络极客风行。在那些日子里,要使空灵启动并运行花费一些Linux知识,更不用说必须加载的其他驱动程序文件,例如WinPCAP。

我将其用于各种故障排除。它是确定网络问题在网络堆栈中的位置的绝佳工具。

例如,您可以使用它来弄清楚您是否遇到了防火墙问题。或使用它来确定设备的TCP/IP堆栈是否符合RFC。

但是,更好的是,您可以使用它来查看两个设备之间的网络会话,以找出数据包级别实际情况。这可能很方便,尤其是当您使用不同类型的自动化软件和由不同供应商设计的硬件时。您甚至可以使用它来查看设备之间的以太网/IP流量。

快进到今天,空灵的开源项目已经解决了一个令人讨厌的商标问题,将数据包分析仪软件重命名为Wireshark,并构建了一个版本,该版本在Windows上运行,并使用该软件及其随附的驱动程序的无人值守安装。

您可以下载Wireshark,以帮助您解决所有与PLC和PAC相关的网络问题的问题https://www.wireshark.org/

以下是使用Wireshark来调试您的自动化网络和设备的一些技巧。

SYN/ACK您如何做

行业标准的优点在于,它们将硬件和软件供应商限制为使用相同的产品开发规则,这使得使设备连接和一起工作变得更加容易。例如,如果产品符合行业标准,则硬件启动或响应网络连接的方式必须符合给定的一组规则。

在TCP/IP协议中,这被称为SYN/ACK握手。这是两个设备之间特定类型的网络数据包的交换,以打开TCP网络连接和交换数据。

Synack-1.png

在上方的屏幕截图中,您可以看到3步SYN/ACK Exchange(有时称为握手)。这是网络中客户端/服务器连接的标准连接过程。

syn- 启动连接(客户端)的设备,在这种情况下,我的PC将SYN TCP数据包发送到目标设备(服务器)。SYN是同步的缩写。注意数据包的序列编号为0,因为它是连接的第一个数据包。

syn/ack- 我试图连接到的设备,在某个地方的Internet上输出一台服务器,并使用SYN/ACK数据包响应SYN数据包。ACK是确认的缩写。基本上,接收设备正在确认我的PC连接尝试。

ACK- 第三个数据包是来自我的PC的ACK数据包。

完成这些步骤后,连接启动并运行,设备可以交换信息。在这种情况下,我正在使用基本的Telnet连接,因为Telnet易于使用以显示示例。但是,实际上,我始终将使用像Putty这样的终端程序上的SSH进行安全连接。油灰是另一个很棒的免费软件工具。查看我们的更多网络安全提示安全博客系列
阅读安全博客系列 无论使用哪种设备,这种三向握手都必须始终进行,才能通过TCP在两个网络设备之间启动会话。

那么,在握手中要寻找哪些东西来帮助查明问题?

服务器可能会以这样的重置数据包进行响应。

reset-2.png

重置数据包是服务器基本拒绝连接请求的一种方式。通常,重置数据包表示您要连接到的TCP端口在服务器上没有打开。这可能是由于软件错误配置的结果,也可能是阻塞某些端口的防火墙。

因此,请确保您已正确配置了服务器上的软件,以收听客户端试图连接到的端口上的连接。并确保您没有内置的Windows防火墙配置用于阻止端口的东西。

在会话期间还使用重置数据包来拆除连接。如果您使用的是非常不可靠的网络连接,并且数据包可以失去订单,或者掉落的数据包比网络堆栈可以处理的要多,有时设备会发送重置数据包以从字面上重置该连接。

在这种情况下,两种设备都必须再次通过SYN/ACK过程。请注意,TCP/IP协议旨在将数据包放回顺序,但是所有网络堆栈都有其限制。

嗅探网络连接

有时,您需要实际查看两个设备之间的数据交换,以找出他们所交换的信息是否以正确的格式或符合每个设备使用的基础数据协议。

例如,假设TCP连接正确出现了,但是您使用的软件与PAC或PLC通信无法打开成功的连接。我们将如何解决这个问题?

Wireshark为此内置了一个方便的工具。如果您在网络跟踪中找到了您要故障排除的会话一部分的单个数据包,则可以右键单击数据包,然后选择“关注TCP流”。它过滤了所有数据包,除了您要寻找的数据包,还弹出一个窗口,使您可以查看会话期间设备之间交换的数据。

例如,我打开了与设备的Telnet连接,并输入了“这是一个测试”。

这只是一个测试。jpg
您将使用此工具来帮助解决数据交换。例如,也许您的设备期望运输返回,而您的软件正在发送马车返回线供稿。您可以切换到十六进制转储视图以查看不可打印的字符。

这些是与Wireshark合作以帮助解决工业设备和网络的一些技巧。有关更多工业以太网故障排除和工业网络安全信息,订阅Opto 22博客

订阅optoblog

主题:PLCS,,,,物联网,,,,Pacs,,,,联网,,,,iiot

    订阅电子邮件更新

    最近的帖子

      主题帖子

      查看全部