标签: network-interface

如何在没有 root 的情况下运行脚本来嗅探网络(libpcap)?

我有一个脚本(红宝石):

require 'ffi/pcap'
pcap = FFI::PCap::Live.new(:dev => "wlan0", :timeout => 1)
pcap.loop() do |this,pkt|
  puts pkt.body
end
Run Code Online (Sandbox Code Playgroud)

当我尝试运行脚本时,出现以下错误:

pcap_open_live(): wlan0: 您无权在该设备上捕获(套接字:不允许操作) (FFI::PCap::LibError)

当我在 Mac 操作系统上运行此代码时,一切正常。

我试过:

sudo setcap cap_net_raw,cap_net_admin=eip ~/.rbenv/shims/ruby

sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

但我仍然有这个问题。

可以在没有 root 的情况下运行此代码吗?授予用户能够通过脚本使用网络设备的权限?

linux libraries ruby network-interface

5
推荐指数
1
解决办法
1万
查看次数

重新启动后保持 ip 链接设置

每次打开电脑时,我都必须手动设置# ip link set wlp5s0 up才能使用无线卡。有没有办法在重新启动后保持此设置?因此,如果我设置界面,up它会一直保持状态,直到我将其关闭。如果可能的话,我想避免使用第三方网络管理器。使用拱门。

startup networking arch-linux network-interface

5
推荐指数
1
解决办法
2931
查看次数

使用 ethtool 删除一些广告链接模式

我的情况是,我有一个支持 10/100/1000 的 PHY,仅用于支持 10/100。

默认行为是使用自动协商找到最佳模式。在另一端,使用具有千兆功能的路由器以非工作接口结束。我猜自动协商永远不会收敛。我听说有些人尝试过使用 100Mbps 交换机,并且效果很好。

我可以使用它,ethtool但这很令人沮丧:

ethtool -s eth1 duplex full speed 100 autoneg off

我想要做的是保持自动协商,但从选择中撤回 1000baseT/Full,以便它最终以 100Mbps 的速度无缝运行。有什么方法可以使用ethtool或内核选项来实现?(在我的 2.6.32 内核上没有找到任何东西......)

(让我们说一些奇怪的家伙带着 10Mbps 交换机来找我,我需要这个 eth 来使用另一个世纪的这个交换机)

linux kernel embedded ethernet network-interface

5
推荐指数
1
解决办法
7179
查看次数

systemd.link 对自动协商的处理是否已损坏?

我正在尝试配置 PC 引擎框以运行 OpenEmbedded 构建,其中一个或多个网络接口关闭了自动协商,但我的 .link 文件中似乎缺少某些内容。在启动时,我收到以下消息:

Dec 26 23:20:07 rl-000db948364a systemd[1]: Started udev Kernel Device Manager.
Dec 26 23:20:07 rl-000db948364a systemd-udevd[231]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Dec 26 23:20:07 rl-000db948364a systemd-udevd[244]: link_config: Cannot set device settings for eth2 : Invalid argument
Dec 26 23:20:07 rl-000db948364a systemd-udevd[244]: Could not set speed or duplex of eth2 to 100 Mbps (full): Invalid argument
Dec 26 23:20:07 rl-000db948364a systemd-udevd[232]: link_config: autonegotiation is unset or enabled, …
Run Code Online (Sandbox Code Playgroud)

udev systemd network-interface

5
推荐指数
1
解决办法
1万
查看次数

RTNETLINK 回答:文件存在于 Ubuntu Server 16.04

我全新安装了 Ubuntu Server 16.04。安装后,网络连接正常。

我安装了 QuickBox,它是一个种子/种子服务器软件 ( https://quickbox.io )。

安装后还是正常的;我可以通过 SSH 进出没问题。但是,安装建议我重新启动服务器以获取某些文件以完成安装。

重新启动服务器后,我失去了所有网络连接;我继续收到错误:

RTNETLINK answers: File Exists
Failed to bring up eno1
Run Code Online (Sandbox Code Playgroud)

接口文件看起来不错,有正确的网络信息。在接口配置中也没有设置重复的网关。

我运行以下命令来获得一些反馈并得到这个:

sudo ifdown eno1 && sudo ifup -v eno1
ifdown: interface eno1 not configured
configuring interface eno1=eno1 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/ifenslave
* [ inet = meta ]
* IF_BOND_SLAVES=
* []
* []
* [ -z ]
*exit
run-parts: executing /etc/network/if-pre-up.d/vlan
/bin/ip addr add 216.176.200.X/255.255.255.X broadcast 216.176.200.X
RTNETLINK answers: File …
Run Code Online (Sandbox Code Playgroud)

networking ubuntu troubleshooting network-interface

5
推荐指数
0
解决办法
7389
查看次数

如何在 debian-install 中防止网络自动检测?

我正在尝试在 Sun Ultra 10 上使用 Debian 安装媒体救援模式,以便我可以使用 shell 调查我拥有的旧 SCSI 磁盘。

似乎可以使用除网络引导映像以外的任何东西的 SPARC 构建的 Debian 的最后一个版本 (7.x)。我正在使用 7.11.0 DVD 1 ISO 的副本。

当我从光盘启动并继续执行救援安装提示时,我得到Detecting Network Hardware了 0% 的系统挂起。

如何禁用网络自动探测?

根据 SPARC 上的 wheezy 手册,netcfg/disable_autoconfig为此提供了引导参数。但是启动

rescue netcfg/disable_autoconfig=true
Run Code Online (Sandbox Code Playgroud)

在 SILO 提示符下似乎没有任何影响——Detecting Network Hardware最终仍显示该步骤并且系统挂起。

一位响应者指出,引导参数netcfg/disable_dhcp=true记录在某些安装介质的 F8 帮助中(尽管 SPARC 并不奇怪——它没有这样的帮助功能),但是我也尝试了这个引​​导参数并得到了类似的结果。

为了寻找想法,我查看了 wheezy 的示例 preseed 文件,它指出该boolean参数netcfg/enable可用于完全禁用网络配置;但是启动rescue netcfg/enable=false也没有效果。也许参数只是没有从 SILO 提示传播到debian-installer. 有没有其他方法可以做到这一点?

debian debian-installer network-interface sparc

5
推荐指数
1
解决办法
280
查看次数

Devuan...减少在启动期间配置互联网接口时的等待时间

由于第一个比 debian 更好的序列性和简单性,我在离开 debian 后为我的笔记本电脑使用了devuan linux

我真的很满意,但我有下一个问题:

当操作系统启动时,如果我的以太网电缆没有插入或者即使我的连接有问题,它会等待大约 20 秒,同时:

配置互联网接口

......然后它说:

ifup 已经配置好了。完毕

或类似的东西,即使它真的配置了接口(如果从一开始就没有真正连接电缆,那真的很少见 - 我可能有电缆问题,因为它太长,或者可能是因为端口有问题-) 即使接口没有真正配置,我也无法访问互联网。

我想要的是:1)一种保存配置的方法,不需要等待这 20 秒ifup 在每次启动时重新配置,而是能够使用

service networking restart
Run Code Online (Sandbox Code Playgroud)

如果我的互联网在启动过程中没有真正配置。

PS:每次启动需要等待 20 秒真的很多,很多时候我只想脱机工作而无需插入电缆。

/etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp …
Run Code Online (Sandbox Code Playgroud)

internet network-interface devuan

5
推荐指数
1
解决办法
967
查看次数

即使链路断开也能启动接口(无运营商)

我的系统是戴尔 PowerEdge T140,运行 Ubuntu 18.04.2。

我有一个依赖于主机主 IP 地址的服务,如果该地址未在主机上配置,该服务将无法启动。

有没有办法netplan让静态配置的接口启动,即使该接口的链接在启动时关闭,如果链接在任何给定时间丢失,也可以保持它?我还没有能够做到这一点,无论NetworkManagernetworkd作为渲染器还是作为渲染器。

在我的测试过程中,我试图用 强制网络ip link set eno1 up,但它没有用。但是,例如ifconfig eno1 192.168.1.1 netmask 0xffffff00 确实有效,并且可能我可以将其用作解决方法(通过执行诸如将该命令添加到rc.local并强制重新启动损坏的服务之类的操作)。

然而,变通解决方案非常难看,它使用了一个ifconfig不再在默认安装中的工具 ( ),所以我宁愿避免它,并坚持尽可能接近标准配置。

ubuntu networkmanager network-interface netplan

5
推荐指数
1
解决办法
7565
查看次数

如何在 Debian 10 中永久禁用网络接口?

我认为这个网站上有一个类似的问题(如何永久禁用网络接口?),但答案主要是针对 Ubuntu 的,那里描述的方法没有帮助。

我正在尝试关闭 enp1s0f2 接口,但它在重新启动时不断返回。

我尝试了命令“ifconfig(接口)down”、“ifdown(接口)”,并编辑 /etc/network/interfaces 以添加以下几行:

《iface(接口)inet 手册》和《iface(接口)inet6 手册》

据说 NetworkManager 或其他任何管理它的东西,不会在启动时加载它,但无济于事。

如何在 Debian 上永久禁用此界面?

有没有一种干净的方法,不涉及一个一个地禁用所有设备 systemctl 服务?如果在任何时候我再次需要该接口,我必须记住所有涉及的服务并再次重新启用它们,这将是一种耻辱,另外,必须有一个更简单的直接方法,对吧?

network-interface

5
推荐指数
2
解决办法
2159
查看次数

有多少服务在所有接口上监听目标系统?(不适用于本地主机和 IPv4)

我需要找出有多少服务正在侦听我的接口(仅限 ipv4,而不是 localhost)

$ ifconfig

ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.129.56.137  netmask 255.255.0.0  broadcast 10.129.255.255
        inet6 dead:beef::250:56ff:feb9:8c07  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::250:56ff:feb9:8c07  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:b9:8c:07  txqueuelen 1000  (Ethernet)
        RX packets 3644  bytes 330312 (330.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3198  bytes 679711 (679.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host> …
Run Code Online (Sandbox Code Playgroud)

linux command-line services network-interface

5
推荐指数
2
解决办法
7095
查看次数