楼主: pengzhao0524
跳转到指定楼层
上一主题 下一主题
收起左侧

Linux network上可以Ping, 但是python程序读不到数据

🔗
xieyudi3 2019-8-24 14:29:42 | 只看该作者
全局:
现在我们要加一个新的设备,这个设备的ip 是172.31.252.1. 于是我在主机/etc/network/interfaces 里加了这个ip


所以说这个 “新的设备” 的 IP 是 172.31.252.1,“我的主机” 的网卡的 IP 也被设置为 172.31.252.1?要是真的这么做,那你的做法恐怕有问题。

你把 “我的主机” 的网卡地址设为同一 /24 下的地址试试(比如 172.31.252.2)?
回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-8-25 00:00:40 | 只看该作者
全局:
xieyudi3 发表于 2019-8-24 14:29
所以说这个 “新的设备” 的 IP 是 172.31.252.1,“我的主机” 的网卡的 IP 也被设置为 172.31.252.1 ...

新设备172.31.252.1.如果我的主机的网卡在/24,比如172.31.252.2,没问题。但是我的主机网卡是192.168.1.x, 其他设备也是在这个192地址上。
回复

使用道具 举报

🔗
Coherence 2019-8-25 05:22:37 | 只看该作者
全局:
你确定是这个地址吗?你能ssh去那个设备上看一下他网络端口么。。。。感觉你的IP不一定是对的。。。。
回复

使用道具 举报

🔗
usr_opta 2019-8-25 08:38:28 | 只看该作者
全局:
所以你的网络拓扑长什么样?
UbuntuServer[192.168.1.50/24] <--> NewDevice[172.31.252.1/16]
是这样直连吗?然后在Ubuntu Server上的Python读不到从NewDevice发来的数据包?
如果是这样的话建议检查一下Ubuntu Server的防火墙和rp_filter设定。
回复

使用道具 举报

🔗
X88 2019-8-25 10:08:47 | 只看该作者
全局:
本帖最后由 X88 于 2019-8-25 10:19 编辑

你的ubuntu server现在应该连有两个网卡,分别在两个独立的subnet上:192.168.1.0/24和172.31.0.0/16.

你可以ping是因为你的ping command主动指向dest ip of 172.31.252.1, 经过server的routing,replies能回到你的host上,没问题。

但你的新设备,俺估计只是在它所在的subnet上mcast or bcast packets. 你要passively receive这些packets只有把你的host放在它一样的subnet上,或者log in 那个设备,重新设置它的IP在你的subnet上。

再或者你的python程序要比你现在这个要复杂,必须主动发queries到172.31.252.1才行。man send/sendto and recv/recvfrom.

P.S: BTW, 一般添加一个新设备的标准做法是阅读设备的instructions/manual,找到它的CLI或web配置IP/port和管理员登录用户名和缺省口令,然后重新根据你的网络需求设置新的IP/subnet.

回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-8-26 05:20:44 | 只看该作者
全局:
Coherence 发表于 2019-8-25 05:22
你确定是这个地址吗?你能ssh去那个设备上看一下他网络端口么。。。。感觉你的IP不一定是对的。。。。

我可以ssh那个设备。关于看它的端口。我是用tshark 以及tcpdump,可以看到数据从它的某个port出来。还有别的方法吗?谢谢
回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-8-26 05:22:48 | 只看该作者
全局:
usr_opta 发表于 2019-8-25 08:38
所以你的网络拓扑长什么样?
UbuntuServer[192.168.1.50/24]  NewDevice[172.31.252.1/16]
是这样直连吗 ...

就是这样的。

我用‘sudo disable ufw’ ‘sudo stop ufw'把防火墙关了。

rp_filter这个刚刚听您提到,我可以去了解一下。
回复

使用道具 举报

🔗
 楼主| pengzhao0524 2019-8-26 05:28:12 | 只看该作者
全局:
X88 发表于 2019-8-25 10:08
你的ubuntu server现在应该连有两个网卡,分别在两个独立的subnet上:192.168.1.0/24和172.31.0.0/16.

...

应该就是你分析的情况。

设备手册没有这些信息,厂商也不管。他们觉得这些连接的问题已经不是他们产品的问题了。
回复

使用道具 举报

🔗
X88 2019-8-26 06:06:23 | 只看该作者
全局:
pengzhao0524 发表于 2019-8-26 05:28
应该就是你分析的情况。

设备手册没有这些信息,厂商也不管。他们觉得这些连接的问题已经不是他们产品 ...

询问他们如何设置他们的设备的ip,应该是最起码的合理技术支持要求。把ip改到192.168.1.0/24子网上,然后连到192.168.1.x的lan上,就全妥了,其它麻烦自然消失,这样作是正解。
回复

使用道具 举报

🔗
haiduc 2019-8-26 09:13:21 | 只看该作者
全局:
试试SSH隧道?看看port forwarding行不行
pip install sshtunnel
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表