wlan1 показывает странные символы

2562
IRGeekSauce

Когда я делаю ifconfig, он показывает wlan1 как

wlanx00c0ca8476b6 

Что в мире этот бред?

Примечание: это отображается для моего адаптера USB Wi-Fi. Мой внутренний wlan0 обнаруживается нормально.

Примечание: я сделал обновление (Kali Linux 2016). Кодировка символов испорчена? Я не знаю, как это исправить. Это не показывало это раньше. Раньше был wlan1. :-(

Я также не могу даже использовать свой адаптер, потому что, когда я делаю:

airmon-ng wlx00c0ca8476b6 

Я получил:

ERROR adding monitor mode interface: command failed: Invalid argument (-22) 

Таким образом, должна быть проблема, отличная от предложенного ниже комментария о том, что это «MAC-адрес адаптера». Он не должен показывать MAC-адрес. Предполагается показать имя интерфейса.

0
00c0ca8476b6 выглядит как MAC-адрес для меня. Ваш адаптер сделан http://www.alfa.com.tw/? DavidPostill 7 лет назад 0
@DavidPostill Да. Это Альфа AWUS036NH. До того, как я сделал dist-upgrade, он показывался как "wlan1". IRGeekSauce 7 лет назад 0
Вот и ты. Держу пари, это MAC-адрес вашего адаптера. DavidPostill 7 лет назад 0
Я не совсем понимаю. Я не понимаю, почему это формально обнаружилось как "wlan1", а теперь это. Как я могу это изменить? IRGeekSauce 7 лет назад 0
Понятия не имею. Я не использую никакой Linux. Я просто достаточно умен, чтобы понять, что "этот бред" был / есть. DavidPostill 7 лет назад 0
Поисковый термин для получения дополнительной информации - «Предсказуемые имена сетевых интерфейсов». Daniel B 7 лет назад 0

1 ответ на вопрос

0
grawity

Yes, that's the actual interface name, not an encoding issue. These "weird characters" are letters and numbers.

  • The general en* or wl* format (e.g. enp1s0 or wlp2s0) comes from systemd "persistent interface names", which is itself inspired by Fedora's earlier biosdevname feature. It sets interface names based on hardware features – enp* or wlp* would describe the PCI bus/slot, enu* or wlu* would describe the USB port; enx* or wlx* would describe the MAC address.

    This is useful on systems with multiple network interfaces, as they're detected in no particular order, so it's possible for eth0 or eth1 to swap places every now and then.

  • systemd, however, does not enable MAC-address-based names by default – that's a Debian-specific addition, which is only applied to USB-connected interfaces. (Those can't benefit from the default systemd naming since USB paths… aren't really that persistent nor predictable.)

    While the Debian configuration uses systemd-udev-generated names internally, it's technically implemented as a separate udev rules file and doesn't honor exactly the same configuration. It does honor net.ifnames=0 (see below).

  • The reason airmon-ng fails, I'm guessing, is that the name is too long – interface names on Linux are limited to 16 bytes, so airmon-ng has no more space to append "mon" for the new monitor interface's name.

    You don't really need "airmon-ng" with modern drivers though – all it is is a shell script to unify several different kinds of interface setup (modern and ancient).

To disable the renaming completely, boot with the net.ifnames=0 kernel parameter, e.g. add it in /etc/default/grub. (There are other methods, but they involve too much configuration editing and might change in the future.)

This should bring you back the standard wlan* names upon reboot.

To create a monitor interface manually, use iw:

iw phy0 interface add mon0 type monitor ip link set mon0 up 

Later, delete it:

iw mon0 interface del 
Я приму ваш ответ, так как вы технически ответили на него. Я обнаружил, что есть явная ошибка со многими пользователями, которые имеют Кали 2016.1. Итак, я понизил до 2.0 (сана) и все работает отлично. Даже показывает как wlan1 прямо из ворот. :-) Спасибо за вашу помощь, хотя. IRGeekSauce 7 лет назад 0
Kali является производным от Debian / Ubuntu и использует в основном ту же базовую систему, поэтому все, что касается systemd выше, относится и к Kali. Включая параметр `net.ifnames = 0`. grawity 7 лет назад 0
Исправление `net.ifnames = 0` также работает на Kali для Raspberry pi :) Просто добавьте его в /boot/cmdline.txt впереди! Keith M 7 лет назад 0

Похожие вопросы