首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WireShark中显示为ModbusTCP数据包的TCP流量

在WireShark中显示为ModbusTCP数据包的TCP流量
EN

Stack Overflow用户
提问于 2021-02-07 04:01:45
回答 1查看 194关注 0票数 0

我在本地主机上使用pyModbusTCP发送ModbusTCP数据包。我的代码似乎工作正常,但在Wireshark中,我的数据包显示为TCP而不是ModbusTCP。当我转到“分析>启用协议”时,ModbusTCP被启用。另一件奇怪的事情是,上周我学习了这个教程YouTube Video,我能够让Wireshark识别ModbusTCP数据包。我今天又试了一次,我在Wireshark将ModbusTCP数据包标记为TCP时遇到了同样的问题。我不知道为什么会发生这种情况,并希望得到一些建议?

服务器代码:

代码语言:javascript
运行
复制
from pyModbusTCP.server import ModbusServer, DataBank
from time import sleep
from random import uniform

# set up server on Local Host port 12345
server = ModbusServer('127.0.0.1',12345, no_block=True)
# initialize register 0 with value of 80
DataBank.set_words(0, [80])

try:
        print("Start server...")
        server.start()
        print("Server is online...")
        # change register value every 5 seconds. 
        while True:
            # Set Register @ Address 0 to random int. value
            DataBank.set_words(0, [int(uniform(0,100))])
            sleep(5)
# when hit ctrl+C in CMD line, shut down server
except:
        print("Shutdown server....")
        server.stop()
        print("Server is offline...")
        sleep(0.5)

客户端代码:

代码语言:javascript
运行
复制
from pyModbusTCP.client import ModbusClient
from pyModbusTCP.server import ModbusServer, DataBank
import time

# Set up client, tell it to communicate with server on local host port 12345
c = ModbusClient()
c.host("127.0.0.1")
c.port(12345)

while True:
    if not c.is_open():
        if not c.open():
            print("Unable to connect to 127.0.0.1:12345")
    
    if c.is_open():
        # Read Register 0 and print it to cmd line
        regs = c.read_holding_registers(0, 1)
        if regs:
            print("Register #0: " + str(regs))
            
    time.sleep(2)

我的Wireshark窗口的图片:Wireshark Output

EN

回答 1

Stack Overflow用户

发布于 2021-02-09 02:22:10

我想通了。Wireshark没有正确地标记数据包,因为我将流量从端口502转移到端口12345,因为我需要超级用户权限才能在端口502上通信。我在代码中将其切换回端口502,现在Wireshark将它们标记为ModbusTCP数据包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66081350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档