问题标签 [ifconfig]

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.

0 投票
2 回答
12690 浏览

c - 使用 ioctl 或 netlink 向接口添加和删除 IP 地址

无论如何在C中从接口(如环回)添加和删除IP地址?

我找到了 ioctl 和一些解释如何做到这一点的文档(例如这个链接),但是它们都是用于设置地址而不是添加和删除?

按照建议,我运行 strace 来添加新的环回,结果如下:

0 投票
1 回答
1370 浏览

perl - 如何在 Linux 中使用 perl 程序显示 IFconfig 信息

我有一个任务,我应该在 linux 中创建一个 perl 脚本,该脚本将提供类似于 linux 命令“ifconfig”的输出。我已经开始编写脚本,但我反复遇到错误。我需要一些帮助来更正我的代码,以便它可以完全运行。该程序需要做的特别是需要一个边界。例如,当我运行脚本时,它会询问接口名称,如果我输入“eth0”这将是接口名称,然后它应该输出就像我输入命令“ifconfig eth0”一样。作业要求我使用这两个包 Net::Int::Stats 和 Net::Ifconfig::Wrapper。我到目前为止的代码如下。我真的很感激任何帮助

0 投票
2 回答
393 浏览

perl - 创建 perl 脚本以模仿 linux 命令“ifconfig”的问题

我有一个任务,我要在 Linux 中创建一个 Perl 脚本来模仿命令ifconfig。该命令主要显示有关网络接口的信息。我已经创建了该程序,但是有几行代码给了我一些问题,如果有人可以为我更正代码,我将不胜感激。我得到的错误说$get_iface_data requires an explicit package name at line 8,但是我不知道如何声明。

我的任务基本上要求我获取一个接口作为输入,并显示有关该接口的信息,就像ifconfig命令一样。我还使用了两个包,Net::Int::StatsNet::Ifconfig::Wrapper. 我的脚本和命令之间的唯一区别ifconfig是我的脚本需要一个接口作为参数

0 投票
1 回答
2506 浏览

linux - ifconfig eth0:1 192.168.3.1 网络掩码 255.255.255.0 返回 SIOCSIFFLAGS:无法分配请求的地址

我正在使用“ifconfig eth0:1 192.168.3.1 netmask 255.255.255.0”在 eth0 上设置别名 IP。但是有一个错误弹出窗口:SIOCSIFFLAGS:无法分配请求的地址 SIOCSFNETMASK:无法分配请求的地址

ifconfig 的版本是:net-tools 1.60 ifconfig 1.42 (2001-04-13)

该错误是由 ifconfig 源代码中的 ioctl() 函数引起的: /* 设置某个接口标志。*/ static int set_flag(char *ifname, short flag) { struct ifreq ifr;

}

我的问题是,谁能帮助解释为什么 ioctl(skfd, SIOCSIFFLAGS, &ifr) 返回无法分配请求的地址 (errno=99)

0 投票
2 回答
2408 浏览

networking - Whatismyip 和 ifconfig 提供不同的 IP 地址

我正在寻找我的开发服务器的 IP。网上的一切都说要么做 ifconfig 要么卷曲 whatismyip 之类的东西。这些给了我 2 个不同的地址。为什么?

补充:我不知道它是否在路由器或任何东西后面。我只是有一个通过 SSH 连接的 IP。我认为该地址是服务器的地址 - 但是当我 curl http://ifconfig.me/时,我得到一个完全不同的地址。

免责声明:我的网络知识接近于 0。

0 投票
3 回答
349 浏览

sed - 如何将 ifconfig 输出连接到每个接口的一行

如何使用 sed 转换以下输出?从:

到:

我试过了

但没有运气!提前感谢您的帮助

0 投票
1 回答
628 浏览

linux - 给定与其关联的 IP 地址,如何获取 NIC 卡的逻辑名称?

我正在研究一个需要知道与给定 ip 关联的逻辑名称(eth0、eth1 等)的 shell 脚本。我正在使用的当前过程是使用过滤器解析 ifconfig 的输出并获取与给定 IP 关联的 NIC 卡。我想知道是否存在更简单的方法或直接流水线 linux 命令来获取上述详细信息?

0 投票
1 回答
28852 浏览

networking - 如何在 OSX 上为 TUN 接口设置 IP 地址(没有目标地址)?

如何在 OSX 上为 TUN 接口设置 IP 地址?如果不指定目标 IP,我无法弄清楚如何为我的接口设置 IP 地址。我不想那样做——我想或多或少地在以后的某个时间点建立一条通往任意地址的隧道。之前没有帮助的问题:

  1. 一个问题的答案不清楚,所以我尝试遵循参考。
  2. 这个问题为 tun 设备设置了一个点对点的 IP 地址,所以它有一个目的地,这正是我不想要的。

osxtuntap的页面上它说:

对于 TUN 接口,我无法在 OSX 10.6 上完成这项工作:

添加网络掩码无济于事 - OSX 似乎需要一个目标地址:

对于 linux,我知道它是如何工作的。根据此页面,您打开()界面,并使用 ip 命令,然后执行此操作,我之前已完成此操作,但问题为零:

我想做的只是我可以在 linux 中做的同样的事情。


编辑:

我正在编写一个小 UDP 隧道应用程序。像这样:

tun1 -> udp 应用程序 #1 -> udp 隧道 -> udp 应用程序 #2 -> tun2

如果 udp 应用程序位于不同的计算机上(比如说本地和远程),我想将它们各自的 tun 设备与一个 IP 地址相关联,这样我就可以通过隧道将数据包从本地发送到远程,方法是将数据包发送到删除机器上 tun 设备的 IP 地址。

借用linux教程的更多内容,作者在本地和远程设置一个tun设备,关联ips,并运行一个简单的隧道应用程序,然后ping隧道的另一端:

0 投票
0 回答
53 浏览

ifconfig - 内核应该使用 ipv4_is_loopback 还是 ifconfig 设置?

这是一个内核源代码问题。如果这里不合适,请告诉我。

有一个名为 ipv4_is_loopback 的宏似乎是确定地址是环回还是外部地址的合适方法。我见过的内核代码中有大约 20 个引用。但是,ifconfig(或 ip)命令允许为“lo”设置地址和掩码。在测试中,似乎通过 ifconfig 的设置似乎控制了很多行为——比如传输 UDP 数据包。另一方面,一些内核源代码表明宏可能会控制诸如arp'ing之类的事情。这似乎很奇怪。

为什么有两种方法可以确定地址是否为环回?

0 投票
4 回答
5718 浏览

bash - 我想在bash中grep ifconfig的输出

我正在制作一个小脚本来确定我在 OSX 上是否有互联网连接。更多的只是练习,我想。

在终端中“ifconfig | grep -cs 'status: active'” 如果至少有一个活动连接将返回 1

我的脚本是这个

但是,变量 ONLINE 始终返回 0。据我所知/理解,这与在脚本内部使用管道有关。运行命令时使用子管道,当子管道关闭时,ONLINE 会卡在 0 上。

我想我看到了这个问题,但我不知道如何解决这个问题。我看到了很多脚本的解决方法,这些脚本在 while 循环中有这个问题,但是我不需要将 ifconfig 的输出输入到 grep 的地方。