gpt4 book ai didi

gps - 监视给定端口以获取未知传入数据

转载 作者:行者123 更新时间:2023-12-04 19:34:56 25 4
gpt4 key购买 nike

我正在测试将数据(GPS 位置)发送到给定端口上的给定 IP 的设备(GPS 跟踪)。
我不知道它发送什么样的数据格式,有没有办法在我的 CentOS 服务器上监听给定端口上的传入数据,并可能在屏幕上打印出来?

最佳答案

扩展我之前留下的评论(当时我无法测试):如果您可以在您的机器上访问 Python,您可以创建以下简单脚本 - 例如在您调用的文件中 myServer.py (署名:http://ilab.cs.byu.edu/python/socket/echoserver.html - 你会在那里找到更多关于 Python 网络编程的信息;非常值得一游):

#!/usr/bin/env python
import socket
host = '' # your IP address
port = 50000 # pick a port you want to listen on.
backlog = 5 # number of clients you could handle at once
size = 1024 # max size of data packet

# create socket:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# connect to host / port:
s.bind((host,port))
# start listening:
s.listen(backlog)

# stay in this loop until ctrl-c is typed at console:
while 1:
client, address = s.accept()
data = client.recv(size)
if data:
print data # echo data to console
client.send(data) # echo data to client (may confuse your application, great for browser)
client.close()

当我通过键入在我的 Mac 上运行它时
chmod 755 myServer.py       # make it executable
./myServer # run the script

然后转到我输入的浏览器
http://localhost:50000/?hello=world

我在浏览器中得到以下信息:
GET /?hello=world HTTP/1.1
Host: localhost:50000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:25.0) Gecko/20100101 Firefox/25.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

我的控制台看起来像这样(我在处理完请求后按了 ctrl-c):
[myMac:~myCodePath] myName% ./myServer.py
GET /?hello=world HTTP/1.1
Host: localhost:50000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:25.0) Gecko/20100101 Firefox/25.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive


^CTraceback (most recent call last):
File "./srv.py", line 13, in <module>
client, address = s.accept()
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/socket.py", line 202, in accept
sock, addr = self._sock.accept()
KeyboardInterrupt

我认为这应该是您查看 GPS 流量的合理方式。应该很容易看出如何将响应更改回客户端 - 现在只是响应请求,但您显然可以发送任何内容
client.send('anything')

如果您对此还有任何疑问,请告诉我。注意我使用了端口 50000 - 我猜它会可用。我的机器设置方式我无法使用端口 80(默认的 html 端口),但这主要是防火墙配置等问题。

关于gps - 监视给定端口以获取未知传入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20296912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com