问题标签 [network-interface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
networking - 收到 arp 响应,但 ICMP 数据包甚至没有到达自己的主机
我的环境有 2 台主机和每台主机上的虚拟机。由于虚拟机和主机属于不同的子网,因此创建了 NVGRE 隧道。我正在使用 Windows server 2012 R2 主机和相同的虚拟机。主机是背靠背连接的。如果我将虚拟机和主机放在同一个子网中,Ping 可以工作。
两个虚拟机都在接收彼此的 ARP 请求和响应。每个 VM 的 ARP 缓存都具有其他 VM 的动态条目。
但是来自 VM 的 ICMP 请求数据包甚至在其主机上都看不到。
c++ - 将套接字绑定到具有未知 Ip 的特定接口
我有一个有两个接口的主机。在我的具体情况下,我试图加入一个多播组,使用boost::asio::ip::multicast::join_group
它似乎只有在我使用包含本地地址的构造函数时才有效。但是,我事先不知道连接到将进行多播的远程主机的本地接口的 IP 地址。但是我知道它将是 eth1。当然,我可以使其可配置,但这似乎引入了一个无用的错误配置机会,看看如何必须为接口和我的应用程序配置相同的地址。
理想情况下,将有一种明显的方式来创建一个boost::asio::endpoint
或boost::asio::address
从一个界面,而不是我以某种方式错过的地址。或者,我当然会对任何其他方式来推断接口 Ip 感到满意,无论有无提供 Ip 的 DHCP 服务器。
有没有合适的方法,或者我应该相信用户永远不会摸索配置?
为了确保这不完全是 XY 问题,这是我在测试加入多播组时使用的代码:
这确实有效,但是当我丢弃最后一行以不依赖于当前本地地址(可能在部署中更改)时,我不再收到任何数据包。
java - 多个网络接口上的 Java 服务器
我编写了一个 Java服务器应用程序,它侦听来自客户端的数据,然后写入数据库。我在带有两个网卡的linux Ubuntu 12.04计算机上运行该应用程序。虽然我在启用单个网络接口的情况下连接到网络,但它工作得非常好,但是当我启用两个网络接口时,我只能从连接到 eth0 的客户端接收数据。
我的服务器的代码几乎是经典的:
问题很奇怪,因为地址“0.0.0.0”应该创建一个侦听所有接口的套接字。
有什么可以建议我如何解决这个问题?
编辑:可能问题出在 SO 设置中。
这是我的 /etc/network/interfaces 文件的内容:
这是sudo lshw -class network命令的结果
linux - 为什么UDP数据包是从默认接口地址而不是接收客户端数据包的地址发送的?
很长一段时间以来,我在使用几个使用 UDP 协议进行通信的软件(Teamspeak 3、netcat、openvpn 的早期版本)时遇到了麻烦。今天我发现了问题。
我的主要目标是在 udp 上使用 openvpn,这似乎不适用于具有多个 ip 地址的服务器(运行 Ubuntu Server Kernel 3.2.0-35-generic)。
使用以下配置:
问题:
服务器上的一个简单 tcpdump 显示在2.2.2.59收到的 udp 数据包(使用 netcat 和 openvpn 测试)是从1.1.1.240(客户端:123.11.22.33)回复的
问题:
这个问题是由于网络接口或应用程序本身(OpenVPN、netcat)的错误配置造成的吗?
/一个应用程序是否可以侦听多个IP地址并从它在UDP上接收数据包的接口地址进行回复,就像它在使用TCP时所做的那样。
我知道您可以为特定 IP 绑定应用程序,但这不是可行的方法。
我看不出这种行为是由于 UDP 协议本身造成的,因为应用程序可以确定在哪个接口地址接收到数据包。
json - AWS CLI 网络接口标签
我试图标记我所有的网络接口,但我需要根据它们安装的标记或附加到每个网络接口的 ELB 来标记它们。是否有脚本或方法可以根据实例的标签或附加到它的 ELB 来标记 NI?任何关于从 CLI 执行此操作的最佳方法的帮助或建议将不胜感激,因为我无法手动执行此操作,我有 400 多个 NI,谢谢
c++ - 如何在centos的c中从IP获取以太网适配器名称
有两个以太网适配器,所以我有两个不同的 IP 地址。现在我用相应的 ip 查找适配器的名称。就像,我有 ip 192.168.10.1 的英特尔卡。如何在没有任何第三方安装的情况下使用 C 或 C++ 在 centos(linux) 中检索此适配器名称?
我需要找到制造商名称(不是 eth0 等)。此制造商列表位于“/usr/share/hwdata/pci.ids”中,但我无法将该名称与 IP 地址映射。我可以使用 'lscpu | 获取适配器名称列表 grep“以太网”'。但是问题又出现了,将名称映射到 IP 地址。
phantomjs - Bind Phantomjs to a Network Interface
I currently have multiple network alias (eth0, eht0:1, eth0:2), each having their own private ip which has its own public ip. When using remote web driver with phantomjs (ghostdriver), it always chooses the local host (See BUG https://github.com/ariya/phantomjs/issues/10269), for client argument --webdriver=ip:port, thus I cannot rely on phantomjs to pick the correct interface.
I am currently under the impression that I will have to use IPTABLES. I want to route ever instance of my java program using remote web driver to a different public ip when connecting to the phantomjs (ghostdriver) driver. Currently I can only control the port that it listens on.
Any suggestions would be greatly appreciated.
python - Scapy - 嗅探三个接口中的 2 个
我正在使用 Scapy 2.2.0 和 Python 2.6 在 Windows 7 上进行嗅探。我知道您可以iface
为函数提供参数sniff
。例如:
如果您不提供此参数,它会在所有接口中进行嗅探。但是有没有办法从 3 个接口中选择 2 个?像这样的东西:(它不起作用)
linux - 需要为网络接口创建一个monit cfg
我需要为网络接口 lo 创建一个 monit 配置文件。
网络接口的格式为:
我正在发出命令
它说“找不到”
我遇到的另一个问题是如何减少警报数量。我每 2 分钟收到一次针对特定服务的警报。通过使用
是否将所有警报限制在此处定义的秒数内。我希望在特定时间段后收到特定的服务警报。所以我在这个服务的 monit.cfg 中放了一个 line set daemon 600(在 10 分钟后接收警报)。但我现在只在 10 分钟后收到所有警报。
有人可以对此有所了解吗?
python - Python Scapy - 有意义的接口名称
我正在 Windows 7 上使用 python 2.6 和 Scapy 构建嗅探器。当用户想要开始嗅探时,我给他选择他想要嗅探的接口的选项,这给了我接口 -
Interface 是我构建的一个类,用于轻松传递有关接口的数据。我的问题是为什么名字总是'ethX',这是什么意思?如何将它转换为更有意义的东西,如 Wireshark的“无线网络连接”或“VirtualBox Host-Only Network”?