我试图使用gpsfake来模拟码头集装箱内的gps数据,但是失败了,因为所有的端口似乎都关闭了。
码头容器是基于ubuntu:16.04映像的,在其中我运行了apt-get install gpsd gpsd-clients。
然后,我尝试从一个文件中模拟gps数据
gpsfake -P 3001 file.nmea
但是得到错误
gpsd:ERROR: can't bind to IPv6 port 3001, Cannot assign requested address
尝试其他港口似乎不起作用。在运行nmap -sTU -O localhost时,我会得到那个All 2000 scanned ports on localhost (127.0.0.1) are closed。我尝试使用ufw allow <port>显式地打开一个端口,但没有成功,nmap -P <port>返回STATE=closed。
我应该关闭港口吗?我一定是漏掉了什么。
发布于 2022-02-16 15:40:32
我也试过了。显然,这个问题是由于gpsd默认只在本地主机上响应。事实上,如果您试图从容器内部连接(例如使用gpspipe),您会看到容器中的gpsd正在正常工作。实际上,gpsd有一个标志(-G)来修改这种行为,但据我所知,没有任何gpsd选项可以指示后者使用这样的标志启动gpsd。
https://stackoverflow.com/questions/56156927
复制相似问题