Pet*_*etr 37 linux command-line networking wifi debian
我不知道如何在笔记本电脑上正确调出 Wi-Fi 卡。当我打开它并发出
$ sudo iwconfig wlan0 txpower auto
$ sudo iwlist wlan0 scan
wlan0 Interface doesn't support scanning : Network is down
Run Code Online (Sandbox Code Playgroud)
它报告网络已关闭。试图提出它也失败了:
$ sudo ifup wlan0
wlan0 no private ioctls.
Failed to bring up wlan0.
Run Code Online (Sandbox Code Playgroud)
显然我缺少一些基本的低级iw...命令。
当我dhclient在界面上发出:
$ sudo dhclient -v wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
^C$
Run Code Online (Sandbox Code Playgroud)
并中断它,它以某种方式启动设备,然后扫描等工作。我想避免这明显多余的步骤。
Bor*_*kov 35
sudo ip link set wlan0 up或sudo ifconfig wlan0 up。
17 年 4 月 13 日的回答:
详细说明马丁的答案:
ifup和ifdown命令的一部分ifupdown的包,现在被认为是网络配置的传统前端,相对于较新的,例如network manager。
一旦ifup ifupdown从读出的配置设置/etc/network/interfaces; 它运行pre-up,post-up以及post-down从脚本/etc/network,其包括启动/etc/wpasupplicant/ifupdown.sh该过程额外wpa-*的WPA wifi的配置选项,在/etc/network/interfaces (见zcat /usr/share/doc/wpasupplicant/README.Debian.gz用于文档)。对于 WEPwireless-tools包的作用与wpa-supplicant. iwconfig也来自wireless-tools。
ifconfig同时是一个较低级别的工具,它被使用ifupdown并允许更大的灵活性。例如,wifi 适配器功能有 6 种模式,而 IIRCifupdown仅涵盖托管模式(+ 漫游模式,正式不是模式?)。使用iwconfig和ifconfig您可以启用例如无线网卡的监控模式,而使用ifupdown您将无法直接执行此操作。
ipcommand 是一种在netlink sockets之上工作的较新工具,这是一种从用户空间配置内核网络堆栈的新方法(类似ifconfig的工具构建在ioctl系统调用之上)。
小智 6
从 Ubuntu 18.04(和相应的 Debian 版本)ifconfig和ifup/ 开始ifdown,不推荐使用,推荐的显示界面的方法是使用以下ip命令:
ip link set dev <interface> up
ip link set dev <interface> down
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式检查可用接口:
ip link
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令显示您的接口分配的 IP 地址:
ip addr show
Run Code Online (Sandbox Code Playgroud)
或者更具体地说:
ip addr show scope global | grep inet
Run Code Online (Sandbox Code Playgroud)
以下是我每天用来连接 WEP 接入点的方法:
#!/bin/bash
DEV=$(iw dev | awk '/Interface/ {interf=$2} END {print interf}')
PIDFILE=/var/run/dhcpcd-$DEV.pid
if [[ -f $PIDFILE ]] && kill -0 $(cat /var/run/dhcpcd-$DEV.pid)
then
dhcpcd -k $DEV
fi
ifconfig $DEV down
sleep 1
iwconfig $DEV mode managed
iwconfig $DEV key blabfoobar
ifconfig $DEV up
iwconfig $DEV essid 'Unindicted Co-conspirator'
iwconfig $DEV ap 00:0D:51:EB:E5:1E
sleep 5
dhcpcd --noipv6rs --noarp $DEV
Run Code Online (Sandbox Code Playgroud)
您必须为您想要的任何接入点输入 ESSID 和 MAC。
WPA 加密有点难。您必须有一个wpa_supplicant.conf包含适当条目的文件。像这样:
# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
ssid="FaveCoffeeHouse"
psk="cafe241800"
priority=1
}
Run Code Online (Sandbox Code Playgroud)
一旦你有了这样的 conf 文件,你就可以运行这个脚本:
#!/bin/bash
DEV=$(iw dev | awk '/Interface/ {print $2}')
ifconfig $DEV down
iwconfig $DEV mode managed
ifconfig $DEV up
iwconfig $DEV essid 'FaveCoffeeHouse'
iwconfig $DEV ap 00:21:1e:3d:2a:80
echo now run: wpa_supplicant -Dnl80211 -i$DEV -c./wpa_supplicant.conf
Run Code Online (Sandbox Code Playgroud)
更新,2014-12-03:
Arch linux 就是这样,我的连接到 WEP 脚本有很大不同。我想我会将它添加到这个答案中以使其保持最新状态。
#!/bin/bash
DEV=wlp12s0
if [[ -f /run/dhcpcd-$DEV.pid ]]
then
kill -QUIT $(cat /run/dhcpcd-$DEV.pid)
fi
ifconfig $DEV down
iw dev $DEV set type managed
ifconfig $DEV up
sleep 2
iw dev wlp12s0 connect -w 'Akond of Swat' 2462 00:7c:41:eb:e5:1e key 0:befedade
sleep 15
dhcpcd -4 --nohook 10-wpa_supplicant --noarp --noipv6rs $DEV
Run Code Online (Sandbox Code Playgroud)
我不得不iw非常突然地切换到使用。Arch LTS 内核或 WiFi 驱动程序(我的笔记本电脑有一个使用“iwl4965”驱动程序的 Intel WiFi 卡)不久前发生了变化。您必须更改接入点的频率(“2462”)和 MAC 地址才能使其正常工作。
| 归档时间: |
|
| 查看次数: |
304545 次 |
| 最近记录: |