예전에 질문을 했었는데Wi-Fi 사용 후 Wi-Fi가 작동하지 않음.이것그리고이 답변나를 도와 주었다. 그런데 문제는 작동이 되지만 몇시간 뒤 노트북을 시작하면 같은 문제가 발생합니다.
나는 직면하고있다질문내가 있을 때마다. 그런 다음 노트북을 다시 시작했는데 모든 것이 잘 작동했습니다. 이 문제를 영구적으로 해결할 수는 없습니다. wifite
직면한 이후로 는 사용하지 않았습니다순간을 보내다
sudo airmon-ng check kill
출력: 이러한 프로세스를 종료합니다. PID 이름 1394 wpa_supplicant
sudo service NetworkManager restart
sudo ifconfig wlan0 up
출력: wlan0: 인터페이스 플래그 가져오기 오류: 해당 장치가 없습니다.
sudo iwconfig wlan0 down
출력: wlan0: 인터페이스 플래그 가져오기 오류: 해당 장치가 없습니다.
sudo ifconfig wlan0 up
출력: wlan0: 인터페이스 플래그 가져오기 오류: 해당 장치가 없습니다.
sudo aireplay-ng wlan0
출력: 공격 모드를 지정하십시오. 도움말을 보려면 "aireplay-ng --help"를 입력하세요.
wlan0을 설정하려고합니다. 그러나 실행하면 wlan0 이 없습니다 ifconfig
. 이 명령을 실행한 후 재부팅할 때. wlan0은 잘 작동하지만 이 문제가 여러 번 발생했습니다. 며칠 전 wifite를 실행한 후입니다. 지금도 이 문제가 또 발생하고 있는데... wifite
상태가 계속 실행 중이거나 다른 일이 발생한 것 같습니다.
iwconfig
무선 확장이 없습니다.
eth0에는 무선 확장이 없습니다.
wlan0 IEEE 802.11 ESSID: 꺼짐/모든
모드: 관리형 액세스 포인트: 연결되지 않음 Tx-Power=15dBm
재시도 단기 제한: 7 RTS thr: 꺼짐 조각 thr: 꺼짐 전원 관리: 꺼짐wwan0에는 무선 확장이 없습니다.
docker0에는 무선 확장이 없습니다.
ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 Broadcast 172.17.255.255 ether 02:42:7d:19:b4:b6 txqueuelen 0(이더넷) RX 패킷 0 바이트 0(0.0 B) RX 오류 0 삭제 0 오버플로 0 프레임 0 TX 패킷 0 바이트 0(0.0B) TX 오류 0 삭제 0 오버플로 0 캐리어 0 충돌 0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether f0:de:f1:da:7d:80 txqueuelen 1000(이더넷) RX 패킷 0바이트 0(0.0B) RX 오류 0 드롭 0 오버플로 0 프레임 0 TX 패킷 0 바이트 0(0.0B) TX 오류 0 삭제 0 오버플로 0 캐리어 0 충돌 0 장치 인터럽트 20 메모리 0xf2500000-f2520000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128scopeid 0x10 loop txqueuelen 1000(로컬 루프백) RX 패킷 28바이트 1728(1.6KiB) RX 오류 0 삭제 0 오버플로 0 프레임 0 TX 패킷 28바이트 1728(1.6KiB) TX 오류 0 삭제 0 오버플로 0 캐리어 0 충돌 0
답변1
종료했다 wpa_supplicant
가 다시 시작해 보았으나 / 또는 NetworkManager
명령의 출력에 전체 인터페이스가 더 이상 표시되지 않으면 도움이 되지 않습니다 .iwconfig
ifconfig
iw list
ip link show
문제는 WiFi 어댑터 드라이버와 하드웨어 간의 일종의 잘못된 통신일 수 있습니다. 해당 기능을 사용하는 경우 일시 중지/최대 절전 모드 문제가 될 수 있습니다.
dmesg
출력을 확인하여 WiFi 인터페이스와 관련된 오류 메시지가 있는지 확인할 수 있습니다 . when과 같은 명령에 대해 인터페이스가 더 이상 iwconfig
표시되지 않으면 WiFi 인터페이스용 드라이버 모듈을 언로드했다가 다시 로드해 볼 수 있습니다.
wlan0
인터페이스가 제대로 작동 하면 sudo ethtool -i wlan0 | awk '/driver:/{print $2;}'
드라이버 모듈의 이름이 표시되어야 합니다. 받아 적어.
wlan0
다시 누락된 경우 이전에 기록해 둔 실제 모듈 이름을 sudo modprobe -r <driver module name>
바꿔서 실행하여 모듈을 제거합니다. <driver module name>
그런 다음 sudo modprobe <driver module name>
다시 로드하세요. 이렇게 하면 드라이버가 WiFi 어댑터를 처음부터 100% 다시 초기화하여 통신 오류와 관련된 모든 오류 상태가 지워지길 바랍니다.
이로 인해 WiFi 어댑터가 다시 작동하기 시작하고 노트북을 일시 중단할 때마다 문제가 발생하는 것 같으면 일시 중단/재개 프로세스를 사용자 정의하여 WiFi 어댑터를 자동으로 종료하고 일시 중단 시 해당 드라이버를 언로드한 다음 다시 로드해야 할 수 있습니다. 이력서 업. 이는 일반적으로 대부분의 배포판에서 달성하기 매우 쉽지만 Kali에 특별히 권장되는 방법이 무엇인지는 모르겠습니다.
분명히 Kali는 Debian을 기반으로 하므로 다음 스크립트를 삽입 /lib/systemd/system-sleep/wifi-workaround.sh
하고 실행 가능하게 만들면( chmod a+rx /lib/systemd/system-sleep/wifi-workaround.sh
) 효과가 있을 수 있습니다.
#!/bin/sh
# When suspending/resuming, systemd will call executables in /lib/systemd/system-sleep
# with the following parameters:
# $1 = either "pre" or "post"
# $2 = "suspend", "hibernate", "hybrid-sleep" or "suspend-then-hibernate"
INTERFACE=wlan0
DRIVER_MODULE=<driver module name>
case "$1" in
pre)
nmcli device disconnect $INTERFACE
modprobe -r $DRIVER_MODULE
;;
post)
modprobe $DRIVER_MODULE
nmcli device connect $INTERFACE
;;
esac
# Don't stop suspending/resuming even if we fail somehow.
exit 0
면책조항: 저는 이것을 전혀 테스트하지 않았습니다. 문제를 해결하고 스스로 조정해야 할 수도 있습니다. 그러나 나는 당신이 이해하기를 바랍니다.
답변2
복구 후 이 스크립트를 sudo로 실행합니다.
#!/bin/bash
# program to check WiFi and reset if not running
#dns server
IPTEST=1.1.1.1
iwconfig=/sbin/iwconfig
lspci=/usr/bin/lspci
#find 802 wireless device id
DEVICE=`$iwconfig 2>/dev/null | egrep 802 | awk ' {print $1}'`
#get PCI bus wireless #
WLNUM=`$lspci | grep -i wireless | awk ' {print $1}'`
#get driver to unload
WLMOD=`$lspci -vv -s $WLNUM | grep -i "kernel driver" | awk ' {print $5}'`
#print out stats
echo "IP is: $IPTEST"
echo "DEVICE is: $DEVICE"
echo "PCI DEV NUM is $WLNUM"
echo "PCI DRIVER is $WLMOD"
ping -c 1 $IPTEST
read -n 1 -p "Proceed ? " ANS
if [[ "$ANS" =~ [^yY] ]]; then
exit 0
fi
echo ""
if ping -c 1 $IPTEST >/dev/null 2>&1 ;
then
echo "$IPTEST 1 ok"
exit 0
else
echo "Ping failed"
echo "stopping wifi "
sudo nmcli radio wifi off
echo "sleeping for 3..."
sleep 3
echo "unloading $DEVICE"
sudo nmcli device disconnect $DEVICE
echo "sleeping for 3..."
sleep 3
echo "unloading $WLMOD ..."
sudo modprobe -r $WLMOD
echo "sleeping for 3..."
sleep 3
echo "reloading $WLMOD"
sudo modprobe $WLMOD
echo "sleeping for 3..."
sleep 3
echo "reloading $DEVICE"
sudo nmcli device connect $DEVICE
echo "sleeping for 10..."
sleep 10
echo "stop wifi "
sudo nmcli radio wifi off
echo "sleeping for 3..."
sleep 3
echo "starting wifi"
sudo nmcli radio wifi on
echo "sleeping for 3..."
sleep 5
echo "test ping again ..."
ping -c 1 $IPTEST
fi
exit 0