我需要帮助来获取通过 udp 协议从仪器发送的数据
I need help to get data sent from an instrument via udp protocol
我有一台测量 so2 的仪器,我有一个标准程序可以让我看到数据,但我需要将仪器连接到服务器并将所有数据发送到数据库。我用 wireshark 看看它是如何与软件通信的,但我不明白用什么方法来制作我的程序。这里我有 wireshark 转储:
红色圆圈表示仪器所做的测量。
P.S。抱歉我的英文不好
所以我解决了我即将展示的问题:
我做了一个倾听者和一个来电者;
来电者:
`from socket import socket, AF_INET, SOCK_DGRAM
SERVER_IP = '192.168.1.99'
PORT_NUMBER = 53700
SIZE = 1024
print ("Test client sending packets to IP {0}, via port {1}\n".format(SERVER_IP, PORT_NUMBER))
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind(('192.168.1.100', 57806))
while True:
data = bytes.fromhex('014630303430335230303102313103')
mySocket.sendto(data,(SERVER_IP,PORT_NUMBER))
exit()`
听众:
`from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
import sys
PORT_NUMBER = 57806
SIZE = 1024
hostName = gethostbyname( '' )
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind( (hostName, PORT_NUMBER) )
print ("Test server listening on port {0}\n".format(PORT_NUMBER))
while True:
(data,addr) = mySocket.recvfrom(SIZE)
print (data)
sys.ext()`
我在wireshark上看到,如果我发送一个从我已有的请求包中复制的请求包,仪器会给我回复;所以我在选择的端口上设置了一个监听器,现在我得到了所有数据!
突出显示的数据包是我从调用者脚本发送的数据包。
我有一台测量 so2 的仪器,我有一个标准程序可以让我看到数据,但我需要将仪器连接到服务器并将所有数据发送到数据库。我用 wireshark 看看它是如何与软件通信的,但我不明白用什么方法来制作我的程序。这里我有 wireshark 转储:
红色圆圈表示仪器所做的测量。 P.S。抱歉我的英文不好
所以我解决了我即将展示的问题: 我做了一个倾听者和一个来电者;
来电者:
`from socket import socket, AF_INET, SOCK_DGRAM
SERVER_IP = '192.168.1.99'
PORT_NUMBER = 53700
SIZE = 1024
print ("Test client sending packets to IP {0}, via port {1}\n".format(SERVER_IP, PORT_NUMBER))
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind(('192.168.1.100', 57806))
while True:
data = bytes.fromhex('014630303430335230303102313103')
mySocket.sendto(data,(SERVER_IP,PORT_NUMBER))
exit()`
听众:
`from socket import socket, gethostbyname, AF_INET, SOCK_DGRAM
import sys
PORT_NUMBER = 57806
SIZE = 1024
hostName = gethostbyname( '' )
mySocket = socket( AF_INET, SOCK_DGRAM )
mySocket.bind( (hostName, PORT_NUMBER) )
print ("Test server listening on port {0}\n".format(PORT_NUMBER))
while True:
(data,addr) = mySocket.recvfrom(SIZE)
print (data)
sys.ext()`
我在wireshark上看到,如果我发送一个从我已有的请求包中复制的请求包,仪器会给我回复;所以我在选择的端口上设置了一个监听器,现在我得到了所有数据!
突出显示的数据包是我从调用者脚本发送的数据包。