
나는 귀하의 MAC 주소를 목록에서 선택한 제조업체의 MAC 주소로 변경하는 BASh 스크립트를 만들어 왔습니다. 스크립트 실행의 마지막 부분에서는 완료되기 전에 중지됩니다. 해당 부분의 코드는 다음과 같습니다.
function spoofUseMAC() {
echo
read -p "[*] $($stopAllFX; $bgBlack; $white)Enter the number code for manufacturer: >>> " num
echo "[-] Generating MAC Address"
num=$( expr $num - 1 )
declare -a array
while read -r; do
array+=( "$REPLY" )
done < addr.txt
end=$( for i in {1..6} ; do echo -n ${hexchars:$(( $RANDOM % 16 )):1} ; done | sed -e 's/\(..\)/:\1/g' )
macAddress=${array[$num]}$end
echo "[-] MAC Address generated !"
echo "[-] Using address: $macAddress"
$skyBlue; $bold; echo
ifconfig
$white
read -p "[*] $($stopAllFX; $bgBlack; $white)Select an interface: >>> " iface
$yellow; echo "[-] $iface selected !"
$white; echo "[-] Disabling $iface ..."
ifconfig $iface down
ifconfig '$iface' hw ether '$macAddress'
echo "[-] MAC Address spoofed !"
sleep 1
echo "[-] Enabling $iface ..."
ifconfig '$iface' up
echo "[-] $iface enabled !"
echo "[-] Using address: $macAddress"
exit
}
function spoofSearchAgainOrNot() {
$bold; $white; echo
echo "[*] $($stopAllFX; $bgBlack; $white)Please select an option from the list below:"
$yellow; $bold; echo " [$($white)0$($yellow)] $($stopAllFX; $bgBlack; $white)Search again"
$yellow; $bold; echo " [$($white)1$($yellow)] $($stopAllFX; $bgBlack; $white)Use one of these"
read -p ">>> " searchAgainOrNot
if [[ "$searchAgainOrNot" == "0" ]]; then
spoofSearch
elif [[ "$searchAgainOrNot" == "1" ]]; then
spoofUseMAC
else
spoofSearchAgainOrNot
fi
}
# Spoof, search option selected
function spoofSearch() {
$bold; echo
read -p "[*] $($stopAllFX; $bgBlack; $white)Search for a manufacturer: >>> " search
$blue; awk -F '#' '{printf("%10d %s\n", NR, ":" $1 )}' /usr/bin/oui.txt | grep -i $search
spoofSearchAgainOrNot
}
# Spoof
function spoof() {
echo; $white
echo "[*] $($stopAllFX; $bgBlack; $white)Please select an option from the list below:"
$yellow; $bold; echo " [$($white)0$($yellow)] $($stopAllFX; $bgBlack; $white)Search for a manufacturer"
$yellow; $bold; echo " [$($white)1$($yellow)] $($stopAllFX; $bgBlack; $white)Browse for a manufacturer through $($bold)long $($stopAllFX; $bgBlack; $white)list"
read -p ">>> " searchOrBrowse
if [[ $searchOrBrowse == "0" ]]; then
spoofSearch
elif [[ $searchOrBrowse == "1" ]]; then
spoofBrowse
else
spoof
fi
}
이 스크립트를 실행한 후에 왜 인터넷을 사용할 수 없습니까 git clone
? could not resolve hostname: github.com
왜 아직 끝나지 않았나요?
편집: 이는 MacOS 및 Linux에서 작동합니다. MacOS에는 명령이 없지만 ip route
Linux에서는 ip route
결과가 다음과 같습니다.
192.168.0.0/24 dev wlp1s0 proto kernel scope link src 192.168.0.18
192.168.0.0/24 dev wlp1s0 proto kernel scope link src 192.168.0.18 metric 600
답변1
일부 카드는 MAC 주소 변경/스푸핑에 대해 약간 까다롭습니다.
OSX에서는 인터페이스 MAC 주소 변경, 특히 Wi-Fi 인터페이스를 올바르게 수행하려면 여러 번 수행해야 합니다. 예를 들어 최신 버전의 OSX/MacOS에서는 특정 시간 내에 수행해야 한다고 생각하기 때문에 자주 루핑해야 합니다. 일반적으로 처음에는 작동하지 않습니다. 이것을 가정하겠습니다.
OSX에서는 인터페이스/드라이버가 MAC 이후 몇 초 동안 혼란스러워 보이지만 복구된다는 점은 주목할 가치가 있습니다.
희귀 브랜드는 이를 좋아하지 않을 것이며, 일부 브랜드에서는 제조업체 ID인 처음 3옥텟(처음 6자리에서 ":" 제외)을 변경하는 것을 권장하지 않습니다.
종종 기본 경로를 잃거나 라우터/AP가 사용자에 대한 개념을 잃을 수 있습니다. 프로세스는 대부분 자동으로 수행되어야 하지만 어떤 경우에는 Linux에서 MAC 주소를 변경한 후 다시 시작해야 할 수도 있습니다. .
답변2
문제를 발견했습니다. $iface
s 중 하나에 있어서는 안 되는 따옴표가 있었습니다.