Điểm:1

Tại sao có tệp "thông tin không dây" trong thư mục chính của tôi?

lá cờ ar

Tôi đang thực hiện một loạt công việc giúp kết nối internet của mình nhanh hơn và bây giờ tôi thấy một tệp trong thư mục chính của mình có tên là "thông tin không dây". Tôi không biết tlp đã thêm nó vào đó hay đó là một trong những thứ thử nghiệm mà tôi đã thử, nhưng xóa nó có an toàn không? Đây là những gì các tập tin trông giống như:

#!/bin/bash
#
# Bản quyền (c) 2012
#
# Tác giả: Wild Man, Krytarik
# Người trợ giúp: ớt555
#
# Tập lệnh này thu thập thông tin cần thiết để khắc phục sự cố mạng không dây
# kết nối và lưu chúng trong một tệp văn bản, gói nó trong kho lưu trữ nếu nó
# vượt quá giới hạn kích thước 19,5 kB đối với tệp đính kèm ".txt" trên Diễn đàn Ubuntu.
#
################################################# ############################
#
# Chương trình này là phần mềm miễn phí: bạn có thể phân phối lại và/hoặc sửa đổi
# nó theo các điều khoản của Giấy phép Công cộng GNU được xuất bản bởi
# Tổ chức Phần mềm Tự do, phiên bản 3 của Giấy phép, hoặc
# (tùy chọn của bạn) bất kỳ phiên bản nào sau này.
#
# Chương trình này được phân phối với hy vọng nó sẽ hữu ích,
# nhưng KHÔNG CÓ BẤT KỲ BẢO HÀNH NÀO; thậm chí không có bảo hành ngụ ý của
# KHẢ NĂNG BÁN HÀNG hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ. xem
# Giấy phép Công cộng GNU để biết thêm chi tiết.
#
# Bạn đã nhận được một bản sao Giấy phép Công cộng GNU
# cùng với chương trình này. Nếu không, hãy xem <http://www.gnu.org/licenses/>.
#

SCRIPTDATE="2020-1-25 05:34 +0200"
FILEBASE="thông tin không dây"
OUTPUTDIR="$PWD"
OUTPUTDIRFB="/tmp"

MODMATCHES="(air|ar5|at7|ath[^3]?|b43|bcma|brcm|carl|ipw|iwl|ndis|r(818|8192[eu]|871|92su)|8(188|189 |192|723|812)[acde][esu]|rt[23567]|rtl|ssb|wl|(cfg|mac)80211)"
LSMODMATCHES="(wmi|(dell|ideapad)[-_]máy tính xách tay)"
IFACEMATCHES="(wlan[0-9]|eth[0-9])"
DMESGMATCHES="(chương trình cơ sở|[nN]etwork|sdio|SDIO)"
NMPROFMATCHES="\(\[connection\]\|id=\|type=\|permissions=\|autoconnect=\|\[802-11-wireless\]\|\[wifi\]\|ssid=\| bssid=\|mac-address\(-blacklist\)\?=\|mtu=\|\[802-1x\]\|[[:graph:]]*ca-certs\?=\|\[ipv [46]\]\|phương pháp=\)"

DMESGEXCL="apparmor|(cfg|mac)80211"
MODINFOINCL="tên tệp|giấy phép|mô tả|phụ thuộc|retpoline|intree|tên|vermagic|parm"
MODPROBEXCL="(alsa-base|danh sách đen-(firewire|framebuffer|modem|oss|watchdog)|fglrx|nvidia|fbdev|bumblebee)"
PMUTILSEXCL="/etc/pm/(power.d/(95hdparm-apm|intel-audio-powersave|sata_alpm)|sleep.d/(10_grub-common|10_unattended-upgrades.*|novatel_3g.*))"

NETMGRNAMES=("Trình quản lý mạng" "Wicd" "ConnMan")
NETMGRPATHS=("/usr/sbin/NetworkManager" "/usr/sbin/wicd" "/usr/sbin/connmand")
DEC2BI=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 })
DEC2HEX=($(printf "%02x " {0..255}))

xuất LANG="en_US.UTF-8"
xuất LANGUAGE="en_US:vi"
xuất LC_ALL="en_US.UTF-8"

nếu [ -t 0 ]; sau đó
    DIALOGAPP="thiết bị đầu cuối"
    DIALOGBREAK=" "
    TERMOUT="có"
yêu tinh [ -x /usr/bin/zenity ]; sau đó
    DIALOGAPP="sự thoải mái"
    DIALOGBREAK="\n"
yêu tinh [ -x /usr/bin/kdialog ]; sau đó
    DIALOGAPP="khộp thoại"
    DIALOGBREAK="\n"
khác
    thoát 1
fi

nếu [ -t 0 ]; sau đó
    SUDO="sudo"
yêu tinh [ -x /usr/bin/pkexec ]; sau đó
    SUDO="pkexec"
yêu tinh [ -x /usr/bin/gksudo ]; sau đó
    SUDO="gksudo"
    GKSUDO="có"
yêu tinh [ -x /usr/bin/kdesudo ]; sau đó
    SUDO="kdesudo"
    KDESUDO="có"
    KDESUDOCMT=" cần quyền quản trị. Vui lòng nhập mật khẩu của bạn."
fi

hộp thoại_thông tin () {
    trường hợp $DIALOGAPP trong
    phần cuối)
        printf "%b\n" "$1"
        ;;
    sự thoải mái)
        tiện ích --info --text="$1"
        ;;
    hộp thoại)
        kdialog --msgbox "$1"
        ;;
    thoát hiểm
}

hộp thoại_error () {
    trường hợp $DIALOGAPP trong
    phần cuối)
        printf "%b\n" "$1" >&2
        ;;
    sự thoải mái)
        tiện ích --error --text="$1"
        ;;
    hộp thoại)
        kdialog --lỗi "$1"
        ;;
    thoát hiểm
}

hộp thoại_câu hỏi () {
    trường hợp $DIALOGAPP trong
    phần cuối)
        ĐẦU VÀO cục bộ
        read -r -p "$1 [Y/n]: " INPUT
        tiếng vang "${INPUT,,}"
        ;;
    sự thoải mái)
        tiện ích --câu hỏi --text="$1" || lặp lại "không"
        ;;
    hộp thoại)
        kdialog --yesno "$1" || lặp lại "không"
        ;;
    thoát hiểm
}

ip6-mac () {
    cho MAC trong "$@"; làm
    OCT1BI=${DEC2BI[0x${MAC:0:2}]}
    OCT1BI7=$((${OCT1BI:6:1} - 1))
    OCT1BIM="${OCT1BI:0:6}${OCT1BI7#-}${OCT1BI:7}"
    IP6S+=${IP6S:+$'\n'}"${DEC2HEX[2#$OCT1BIM]}${MAC:3:2}:${MAC:6:2}ff:fe${MAC:9: 2}:${MAC:12:2}${MAC:15:2}"
    xong
    sed 's/\(^\|:\)0\+\([[:alnum:]]\)/\1\2/g;s/^\([0:]\+\)/\ (::\|\1\)/' <<< "$IP6S"
}

thi hành 3>&1 4>&2
exec 1> "$OUTPUTDIR/$FILEBASE.txt" || {
    hộp thoại_error "${TERMOUT+\n}Không thể ghi tệp đầu ra trong \"$OUTPUTDIR\",${DIALOGBREAK}thay vào đó hãy thử ghi trong \"$OUTPUTDIRFB\".${TERMOUT+\n}"
    OUTPUTDIR="$OUTPUTDIRFB"
    exec 1> "$OUTPUTDIR/$FILEBASE.txt" || {
    hộp thoại_error "${TERMOUT+\n}Không thể ghi tệp đầu ra trong \"$OUTPUTDIR\", đang hủy bỏ.${TERMOUT+\n}"
    thoát 1
    }
}
thực thi 2>&1

printf "\n########## thông tin không dây BẮT ĐẦU ##########\n\n"
BÁO CÁO=$(ngày +"%d %b %Y %H:%M %Z %z")
SCRIPTDATE=$(date -u -d "$SCRIPTDATE" +"%d %b %Y %H:%M %Z %z")
LASTBOOTDT=$(last -FRn 1 lần khởi động lại | sed -n 's/.*system boot[ ]\+\(.\+\) - .*/\1/p')
LASTBOOTDT=$(date -d "$LASTBOOTDT" +"%d %b %Y %H:%M %Z %z")
printf "Báo cáo từ: %s\n\n" "$REPORTDATE"
printf "Khởi động lần cuối: %s\n\n" "$LASTBOOTDT"
printf "Tập lệnh từ: %s\n" "$SCRIPTDATE"

printf "\n##### ban hanh ###########################\n\n"
lsb_release -idrc

printf "\n##### hạt nhân ###########################\n\n"
uname -srvmpio
tiếng vang
sed 's/root=[^ ]*//;s/[ ]\+/, /g;s/^BOOT_IMAGE=[^ ]*/Parameters:/' /proc/cmdline

printf "\n##### máy tính để bàn ##########################\n\n"
nếu [ -n "$DESKTOP_SESSION" ]; sau đó
    DESKTOP="$DESKTOP_SESSION"
khác
    DESKTOP=$(sed -n 's/^Session=\(.\+\)$/\1/p' "$HOME/.dmrc")
    DESKDMRC=" (từ ~/.dmrc)"
fi
nếu [ -n "$DESKTOP" ]; sau đó
    nếu [ -f "/usr/share/xsessions/$DESKTOP.desktop" ]; sau đó
    DESKTOP=$(sed -n 's/^Name=\(.\+\)$/\1/p' "/usr/share/xsessions/$DESKTOP.desktop")
    fi
    echo "${DESKTOP/ Session/}${DESKDMRC}"
khác
    printf "\nKhông thể xác định được.\n"
fi

printf "\n##### lspci #############################\n\n"
lspci -nnk | grep -iA 2 '^[^[:space:]].*net' | sed '/^--$/d; /^[^[:dấu cách:]]/ i\'

printf "\n##### lsusb #############################\n\n"
lsusb

printf "\n##### Thông tin thẻ PCMCIA ##################\n\n"
nếu [ -x /sbin/pccardctl ]; sau đó
    thông tin pccardctl
khác
    echo "'pccardctl' chưa được cài đặt (gói \"pcmciautils\").
fi

printf "\n##### rfkill ############################\n\n"
danh sách rfkill tất cả

printf "\n##### khởi động an toàn #######################\n\n"
nếu [ -x /usr/bin/mokutil ]; sau đó
    mokutil --sb-state
khác
    echo "'mokutil' chưa được cài đặt (gói \"mokutil\").
fi

printf "\n##### lsmod #############################\n\n"
LSMOD=$(lsmod | egrep "(^|[[:punct:] ])($MODMATCHES|$LSMODMATCHES)[^[:punct:] ]*([[:punct:] ]|$)")
tiếng vang "$LSMOD"

printf "\n##### giao diện ########################\n\n"
đối với IFACESFILE bằng $(find /etc/network/interfaces{,.d} -type f 2> /dev/null | sort); làm
    IFACESFLCNT=$(sed '/^#/d;s/^wpa-psk [[:graph:]]\+/wpa-psk <đã xóa khóa WPA>/' $IFACESFILE)
    nếu [ -n "$IFACESFLCNT" ]; sau đó
    printf "[%s]\n%s\n\n" "$IFACESFILE" "$IFACESFLCNT"
    fi
xong

printf "\n##### ifconfig ##########################\n\n"
nếu [ -x /bin/ip ]; sau đó
    IFCONFIG=$(địa chỉ ip hiển thị)
yêu tinh [ -x /sbin/ifconfig ]; sau đó
    IFCONFIG=$(ifconfig -a)
khác
    echo "'ip' chưa được cài đặt (gói \"iproute2\").
fi
tiếng vang "$IFCONFIG"
IFCONFIG=$(sed -n '1h; 1!H; ${g;s/\n /\ /g;p}' <<< "$IFCONFIG")
IFACESETH=($(sed -n 's#^[0-9]\+: \([^ :]\+\):.* link/ether.*#\1#p; s/^\([ ^ :]\+\):\?.* \(Link encap:Ethernet\|ether\).*/\1/p' <<< "$IFCONFIG"))
nếu (( ${#IFACESETH[@]} > 0 )); sau đó
    IFETHMATCHES=${IFACESETH[@]}
    IFACEMATCHES="($IFACEMATCHES|(${IFETHMATCHES// /|}))"
fi

printf "\n##### iwconfig ##########################\n\n"
iwconfig

printf "\n##### tuyến ############################\n\n"
nếu [ -x /bin/ip ]; sau đó
    lộ trình ip
yêu tinh [ -x /sbin/route ]; sau đó
    tuyến đường -n
khác
    echo "'ip' chưa được cài đặt (gói \"iproute2\").
fi

printf "\n##### resolv.conf ######################\n\n"
stat -c "[%a %U %N]" /etc/resolv.conf
grep -v '^#' /etc/resolv.conf

printf "\n##### quản lý mạng ##################\n\n"
printf "Đã cài đặt:\n\n"
cho NETMGRNR trong "${!NETMGRPATHS[@]}"; làm
    nếu [ -f "${NETMGRPATHS[$NETMGRNR]}" ]; sau đó
    NETMGRINST+=("${NETMGRNAMES[$NETMGRNR]}")
    fi
xong
printf "\t%s\n" "${NETMGRINST[@]:-Không tìm thấy.}"
NETMGRGMATCHES=${NETMGRPATHS[@]/#*\//|}
NETMGRMATCHES=${NETMGRMATCHES// |/|}
NETMGRMATCHES="(${NETMGRMATCHES#|})"
printf "\nĐang chạy:\n\n"
ps -ef | egrep "( |/)$NETMGRMATCHES($| )" || printf "\tKhông tìm thấy.\n"

printf "\n##### Thông tin Trình quản lý mạng ###############\n\n"
nếu [ -x /usr/bin/nm-tool ]; sau đó
    công cụ nm
yêu tinh [ -x /usr/bin/nmcli ]; sau đó
    nmcli -f hiển thị tất cả thiết bị | sed '/^CHUNG.DEVICE:[ ]\+lo$/,/^$/d; /^AP\[[0-9]\+\]\./d'
    tiếng vang
    nmcli -f SSID,BSSID,MODE,CHAN,FREQ,RATE,SIGNAL,BARS,Security,ACTIVE,IN-USE danh sách wifi của thiết bị
khác
    echo "Trình quản lý mạng chưa được cài đặt (gói \"trình quản lý mạng\").
fi

printf "\n##### NetworkManager.state ##############\n\n"
"$SUDO" cat -s /var/lib/NetworkManager/NetworkManager.state

printf "\n##### Cấu hình NetworkManager #############\n\n"
đối với NMCONFFILE bằng $(find /{etc,usr/lib}/NetworkManager/{NetworkManager.conf,conf.d} -name "*.conf" 2> /dev/null | sort); làm
    NMCONFCNT=$(egrep -v '^(#|$)' $NMCONFFILE)
    nếu [ -n "$NMCONFCNT" ]; sau đó
    printf "[[%s]]\n%s\n\n" "$NMCONFFILE" "$NMCONFCNT"
    fi
xong

printf "\n##### Hồ sơ quản lý mạng ###########\n\n"
nếu [ -d /etc/NetworkManager/system-connections ]; sau đó
    nếu [ -n "$SUDO" ]; sau đó
    bẫy "" 2 3
    NMPROFILES=$(find /etc/NetworkManager/system-connections -maxdepth 1 -type f -exec $SUDO${GKSUDO+ -D grep --}${KDESUDO+ -d --comment "<b>grep</b>$ KDESUDOCMT" --} grep -vH '^$' {} +) && SUDOSUCCESS="yes" || SUDOSUCESS = "không"
    cái bẫy 2 3
    nếu [ "$SUDOSUCCESS" = "có" ]; sau đó
        ORIGIFS="$IFS"
        NẾU=$'\n'
        cho NMWLPRFFILE bằng $(sed -n 's/^\(.\+\):type=\(802-11-wireless\|wifi\).*$/\1/p' <<< "$NMPROFILES" ); làm
        NMWLPRFFLPERMS=$(stat -c "%a %U" "$NMWLPRFFILE")
        NMWLPROFILE=($(sed -n "s;^$NMWLPRFFILE:\($NMPROFMATCHES.*\)$;\1 |;p" <<< "$NMPROFILES"))
        NMWLPROFSOUT+="[[$NMWLPRFFILE]] ($NMWLPRFFLPERMS)"$'\n'"${NMWLPROFILE[@]}"$'\n\n'
        xong
        IFS="$ORIGIFS"
        sed 's# | \[#\n\[#g;s#\] |#\]#g;s/ |$//' <<< "$NMWLPROFSOUT" | sed '/^\[[^]]*\]$/d'
    khác
        printf "\nKhông nhận được quyền quản trị.\n"
    fi
    khác
    echo "Không tìm thấy cách lấy đặc quyền quản trị."
    fi
khác
    echo "Không tìm thấy cấu hình Trình quản lý mạng."
fi

printf "\n##### Cấu hình Netplan ###################\n\n"
đối với NPLANFILE trong $(find /{lib,etc,run}/netplan -name "*.yaml" 2> /dev/null | sort); làm
    NPLANFLCNT=$(egrep -v '^(#|$)' $NPLANFILE)
    nếu [ -n "$NPLANFLCNT" ]; sau đó
    printf "[%s]\n%s\n\n" "$NPLANFILE" "$NPLANFLCNT"
    fi
xong

printf "\n##### iw reg get #######################\n\n"
nếu [ -x /sbin/iw ]; sau đó
    if IWREGGET=$(iw reg get 2>&1) && [ -f /etc/timezone ]; sau đó
    KHU VỰC=$(mèo /etc/múi giờ)
    printf "Vùng: %s (dựa trên múi giờ đã đặt)\n\n" "$REGION"
    fi
    tiếng vang "$IWREGGET"
khác
    echo "'iw' chưa được cài đặt (gói \"iw\").
fi

printf "\n##### iwlist kênh ##################\n\n"
nếu [ -x /sbin/iwlist ]; sau đó
    iwlist chan
khác
    echo "'iwlist' chưa được cài đặt (gói \"công cụ không dây\").
fi

printf "\n##### iwlist scan #######################\n\n"
nếu [ -x /sbin/iwlist ]; sau đó
    nếu [ -n "$SUDO" ]; sau đó
    bẫy "" 2 3
    IWLISTSCAN=$($SUDO${KDESUDO+ -d} iwlist scan) && SUDOSUCCESS="yes" || SUDOSUCESS = "không"
    cái bẫy 2 3
    nếu [ "$SUDOSUCCESS" = "có" ]; sau đó
        nếu [[ $IWLISTSCAN = *Tần suất:* ]]; sau đó
        printf "Chiếm kênh:\n\n"
        grep '^[ ]*Tần số:' <<< "$IWLISTSCAN" | sắp xếp | uniq -c | sed 's/^[ ]\+\([ ][0-9]\+\)[ ]\+/ \1 AP trên /'
        tiếng vang
        fi
        grep -v '^[ ]*IE: Unknown:' <<< "$IWLISTSCAN"
    khác
        printf "\nKhông nhận được quyền quản trị.\n"
    fi
    khác
    echo "Không tìm thấy cách lấy đặc quyền quản trị."
    fi
khác
    echo "'iwlist' chưa được cài đặt (gói \"công cụ không dây\").
fi

printf "\n##### thông tin mô-đun ######################\n\n"
MODULES=$(egrep -o "^$MODMATCHES[^ ]*" <<< "$LSMOD")
cho MODULE trong $MODULES; làm
    MODINFO=$(modinfo $MODULE | egrep -i "^$MODINFOINCL:")
    printf "[%s]\n%s\n\n" "$MODULE" "$MODINFO"
xong

printf "\n##### tham số mô-đun #################\n\n"
cho MODULE trong $MODULES; làm
    nếu [ -d /sys/module/$MODULE/tham số ]; sau đó
    MODPARAMS=$(grep -H '^[[:graph:]]' /sys/module/$MODULE/parameters/* | sed 's#^.*/##;s/:/: /')
    printf "[%s]\n%s\n\n" "$MODULE" "$MODPARAMS"
    fi
xong

printf "\n##### /etc/modules ######################\n\n"
grep -v '^#' /etc/modules

printf "\n##### tùy chọn modprobe #################\n\n"
đối với MODPROBEFILE bằng $(find /etc/modprobe.{conf,d} -name "*.conf" -regextype posix-egrep -not -regex ".*$MODPROBEXCL.*" 2> /dev/null | sort); làm
    MODPROBEOPTS=$(egrep -v '^(#|$)' $MODPROBEFILE)
    nếu [ -n "$MODPROBEOPTS" ]; sau đó
    printf "[%s]\n%s\n\n" "$MODPROBEFILE" "$MODPROBEOPTS"
    fi
xong

printf "\n##### rc.local ##########################\n\n"
grep -v '^#' /etc/rc.local

printf "\n##### pm-utils ##########################\n\n"
đối với PMUTILSFILE bằng $(find /etc/pm/*.d \( -type f -o -type l \) -regextype posix-egrep -not -regex "$PMUTILSEXCL" | sort); làm
    PMUTFLCONT=$(egrep -v '^(#|$)' $PMUTILSFILE)
    nếu [ -n "$PMUTFLCONT" ]; sau đó
    PMUTFLPERMS=$(stat -c "%a %U" $PMUTILSFILE)
    printf "[%s] (%s)\n%s\n\n" "$PMUTILSFILE" "$PMUTFLPERMS" "$PMUTFLCONT"
    fi
xong

printf "\n##### quy tắc udev ########################\n\n"
đối với UDEVRLFILE bằng $(find /etc/udev/rules.d -name "*net*.rules" | sort); làm
    UDEVRULES=$(grep -B1 '^[^#]' $UDEVRLFILE | egrep -v '^(--)?$')
    nếu [ -n "$UDEVRULES" ]; sau đó
    printf "[%s]\n%s\n\n" "$UDEVRLFILE" "$UDEVRULES"
    fi
xong

printf "\n##### dmesg #############################\n\n"
"$SUDO" dmesg | đuôi -n 100 | egrep "[[:punct:] ]($MODMATCHES|$IFACEMATCHES|$DMESGMATCHES)[^[:punct:] ]*[[:punct:] ]" | egrep -v "$DMESGEXCL" | uniq -cf 2 | sed 's/^[ ]\+1[ ]\+//;s/^[ ]\+\([0-9]\+\)[ ]\+\(.\+\)$/\2 (lặp lại \1 lần)/'

printf "\n########## thông tin không dây KẾT THÚC ############\n\n"

thực thi 2>&4 4>&-
thực thi 1>&3 3>&-

##### Che dấu địa chỉ MAC #####

KẾT QUẢ=$(cat -s "$OUTPUTDIR/$FILEBASE.txt")$'\n'

ORIGIFS="$IFS"
NẾU=$'\n'

IFACESIDS=($(sed -n "/\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}/ {/\(00 :\)\{5\}00/! {s/^[0-9]\+: \([^ :]\+\):.*/'\1'/p; s/^\([ ^ :]\+\):\? .*/'\1'/p}}" <<< "$IFCONFIG"))
IFACESMACS=($(sed -n '/\(00:\)\{5\}00/! s#.*\(HWaddr\|link/[^ ]\+\|ether\) \(\([ [:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}\).*#\2#p' <<< "$IFCONFIG"))
IFACESIP6S=($(ip6-mac "${IFACESMACS[@]}"))

WLAPSIWLIDS=($(sed -n "/^[ ]*Cell [0-9]\+/,/^[ ]*ESSID:/ {/^[ ]*Cell [0-9]\+/h; / ^[ ]*ESSID:/ {H;g;s/^[ ]*Cell 0\?\([0-9]\+\).*ESSID:\"\(.*\)\"$/' \2' [AC\1]/p}}" <<< "$IWLISTSCAN"))
WLAPSIWLMACS=($(sed -n 's/^[ ]*Cell [0-9]\+.*Address: \([^ ]\+\)/\1/p' <<< "$IWLISTSCAN") )
WLAPSIWLIP6S=($(ip6-mac "${WLAPSIWLMACS[@]}"))

WLAPSNMRAW=$(sed -n '/^##### NetworkManager info #####/,/^##### / {/^[ ]*Wireless Access Points/,/^$/ {/Wireless Điểm truy cập/d;s/^[ ]\+\*\?//;s/:[ ]\+/\t/;p}; /^SSID[ ]\+BSSID[ ]\+/,/^ $/ {/^SSID[ ]\{2,\}BSSID[ ]\{2,\}/d;s/[ ]\{2,\}/\t/;p}}' <<< "$ KẾT QUẢ")
WLAPSNMIDS=($(awk -F '\t' '{print "'\''" $1 "'\''"}' <<< "$WLAPSNMRAW"))
WLAPSNMMACS=($(grep -o '\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}' <<< "$WLAPSSNMRAW "))
WLAPSNMIP6S=($(ip6-mac "${WLAPSNMMACS[@]}"))

IFS="$ORIGIFS"

cho IFACENR trong "${!IFACESMACS[@]}"; làm
    MACMASKSED+="s;${IFACESMACS[$IFACENR]};<MAC ${IFACESIDS[$IFACENR]} [IF$(($IFACENR + 1))]>;I;"
    MACMASKSED+=" /${IFACESIP6S[$IFACENR]}/ s;${IFACESIP6S[$IFACENR]/#\(::/\(};<IP6 ${IFACESIDS[$IFACENR]} [IF$(($ IFACENR + 1))]>;I;"
    IFACEMACC=${IFACESMACS[$IFACENR]//:/}
    nếu [[ ${IFACESIDS[$IFACENR],,} =~ ${IFACEMACC,,} ]]; sau đó
    MACMASKSED+="s;\(${IFACESIDS[$IFACENR]:1:3}\)$IFACEMACC;\1<IF from MAC [IF$(($IFACENR + 1))]>;Ig;"
    fi
xong

cho WLAPIWLNR trong "${!WLAPSIWLMACS[@]}"; làm
    MACMASKSED+="s;${WLAPSIWLMACS[$WLAPIWLNR]};<MAC ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;"
    MACMASKSED+=" /${WLAPSIWLIP6S[$WLAPIWLNR]}/ s;${WLAPSIWLIP6S[$WLAPIWLNR]/#\(::/\(};<IP6 ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;"
xong

cho WLAPNMNR trong "${!WLAPSNMMACS[@]}"; làm
    MACMASKSED+="s;${WLAPSNMMACS[$WLAPNMNR]};<MAC ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($WLAPNMNR + 1))]>;I;"
    MACMASKSED+=" /${WLAPSNMIP6S[$WLAPNMNR]}/ s;${WLAPSNMIP6S[$WLAPNMNR]/#\(::/\(};<IP6 ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($ WLAPNMNR + 1))]>;I;"
xong

sed "$MACMASKSED /\([[:alnum:]]\{2\}:\)\{6,\}/! s/\([[:alnum:]]\{2\}:\)\ {5\}[[:alnum:]]\{2\}/<địa chỉ MAC>/g" <<< "$RESULTS" > "$OUTPUTDIR/$FILEBASE.txt"

##### Kết thúc #####

hộp thoại_info "${TERMOUT+\n}Kết quả được lưu trong \"$OUTPUTDIR/$FILEBASE.txt\".${TERMOUT+\n}"

if (( $(stat -c %s "$OUTPUTDIR/$FILEBASE.txt") > 19968 )); sau đó
    tar -czf "$OUTPUTDIR/$FILEBASE.tar.gz" -C "$OUTPUTDIR" "$FILEBASE.txt" && \
    hộp thoại_info "Kết quả cũng được lưu trữ trong \"$OUTPUTDIR/$FILEBASE.tar.gz\",${DIALOGBREAK}vì chúng vượt quá giới hạn kích thước 19,5 kB đối với tệp đính kèm \".txt\"${DIALOGBREAK}trên Diễn đàn Ubuntu.$ {TERMOUT+\n}" || \
    hộp thoại_error "Kết quả vượt quá giới hạn kích thước 19,5 kB cho \".txt\" tệp đính kèm${DIALOGBREAK}trên Diễn đàn Ubuntu, nhưng không thể tạo tệp lưu trữ.${TERMOUT+\n}"
fi

if [ -x /usr/bin/pastebinit ] && ping -nc 3 -w 6 -i 0.2 paste.ubuntu.com > /dev/null 2>&1; sau đó
    PASTEBIN=$(dialog_question "Bạn cũng muốn đăng chúng${DIALOGBREAK}lên nhà cung cấp 'pastebinit' mặc định của mình?")
    nếu [[ ! $PASTEBIN =~ ^no?$ ]]; sau đó
    PASTERESULT=$(pastebinit -i "$OUTPUTDIR/$FILEBASE.txt" -f text 2>&1) && PASTESUCCESS="yes"
    nếu [ "$PASTESUCCESS" = "có" ]; sau đó
        hộp thoại_info "${TERMOUT+\n}Pastebin thành công:\n\n${PASTERESULT}${TERMOUT+\n}"
    khác
        nếu [ -n "$PASTERESULT" ]; sau đó
        hộp thoại_error "${TERMOUT+\n}Pastebin không thành công, thông báo lỗi là:\n\n${PASTERESULT}${TERMOUT+\n}"
        khác
        hộp thoại_error "${TERMOUT+\n}Pastebin không thành công, không có thông báo lỗi.${TERMOUT+\n}"
        fi
    fi
    khác
    tiếng vang
    fi
fi

CHỈNH SỬA: Tôi thấy nó ghi "Người trợ giúp: chili555" ở trên cùng và @chili555 là một người dùng AskUbfox đã giúp tôi rất nhiều trong việc tăng tốc kết nối mạng.

Tệp có an toàn để xóa không?

chili555 avatar
lá cờ cn
Các câu trả lời dưới đây là khá chính xác. Nó là an toàn để xóa!
AlexFullinator avatar
lá cờ ar
@chili555 Ồ, tôi rất vui vì bạn đã thấy điều này. Tập lệnh có còn hữu ích ngay cả khi tôi hoàn nguyên những điều thử nghiệm mà tôi đã làm trên bài đăng này (https://askubuntu.com/a/1386219/1200423) không? Ví dụ. nó còn hữu ích hay nó hoàn toàn vô dụng vì không có gì sử dụng nó? Tái bút Tôi đã sử dụng tập lệnh này và nó thực sự tốt khi tôi muốn lấy thông tin về mạng không dây của mình! CHỈNH SỬA: Bây giờ tôi nhận ra rằng nhận xét này là vô ích vì tôi nhận ra rằng tôi có thể sử dụng tập lệnh này bất cứ lúc nào tôi muốn để biết thông tin không dây: P
chili555 avatar
lá cờ cn
Nó là thiên tài! Nó luôn luôn hữu ích! Nghiêm túc mà nói, nó được sử dụng để thu thập tất cả, hy vọng, các chi tiết mà chúng ta có thể sử dụng để chẩn đoán các sự cố không dây. Nó nhanh hơn và dễ dàng hơn so với việc yêu cầu một hoặc hai điểm dữ liệu cùng một lúc và sau đó, tùy thuộc vào kết quả, yêu cầu thêm một vài điểm nữa. Hãy lấy tất cả các chi tiết có thể trong một báo cáo rõ ràng. Khi mạng không dây của bạn hoạt động, nó không còn tác dụng thực tế nào nữa.
AlexFullinator avatar
lá cờ ar
@chili555 Được rồi. Tôi sẽ giữ nó vì nó rất tuyệt (lol) và phòng khi tôi gặp bất kỳ vấn đề nào trong tương lai. Cảm ơn bạn đã làm rõ
chili555 avatar
lá cờ cn
CƯỜI! Gọi cho chúng tôi bất cứ lúc nào chúng tôi có thể giúp đỡ.
Điểm:6
lá cờ ca

Đây là một tập lệnh khá phổ biến, được tạo bởi một số người dùng Diễn đàn Ubuntu và được sử dụng để thu thập thông tin liên quan nhằm khắc phục sự cố kết nối không dây.

Kịch bản có thể được tìm thấy ở đây: https://github.com/UbuntuForums/wless-info

Kịch bản thực hiện như sau:

  • Tạo tập tin wireless-info.txt tại vị trí mà nó được chạy từ đó.
  • Ngoài ra tạo kho lưu trữ wireless-info.tar.gz nếu tệp vượt quá kích thước 19,5 kB.
  • Mặt nạ tất cả thông tin nhạy cảm, như địa chỉ MAC và khóa WPA/WEP, tự động theo cách có ý nghĩa.
  • Đề nghị đăng kết quả lên mặc định của bạn pastebinit nhà cung cấp nếu chương trình được cài đặt và có sẵn kết nối internet đủ tin cậy.

Việc xóa hoàn toàn an toàn vì nó không làm gì khác hơn là thu thập thông tin này.

AlexFullinator avatar
lá cờ ar
Cảm ơn! Tôi sử dụng tập lệnh này để lấy thông tin trên wifi của mình, nhưng tôi không bao giờ biết nó đến từ đâu và muốn chắc chắn rằng đó là những gì tôi nghĩ
Điểm:2
lá cờ ng

Đọc phần nhận xét ở trên cùng cho chúng tôi biết rằng đó là một tập lệnh để thu thập thông tin cho mục đích khắc phục sự cố:

# Tập lệnh này thu thập thông tin cần thiết để khắc phục sự cố mạng không dây
# kết nối và lưu chúng trong một tệp văn bản, gói nó trong kho lưu trữ nếu nó
# vượt quá giới hạn kích thước 19,5 kB đối với tệp đính kèm ".txt" trên Diễn đàn Ubuntu.

Nếu bạn không cần tập lệnh nữa, bạn có thể xóa tập lệnh đó.

Trong tương lai, chú ý đến ở đâu một tập tin nằm trong thư mục nhà của bạn. Ví dụ, một tập tin trong ~/Tải xuống thư mục có thể bị xóa nếu bạn không cần hoặc không muốn nó nữa.

AlexFullinator avatar
lá cờ ar
Cảm ơn, Nmath. Nó chỉ nằm trong thư mục nhà của tôi chứ không phải trong thư mục con.
Nmath avatar
lá cờ ng
À, không nên có bất kỳ tệp quan trọng nào nằm ngay trong thư mục nhà của người dùng của bạn. Chỉ vì mục đích tổ chức, có thể không tốt khi bắt đầu lưu tệp ở đó.
AlexFullinator avatar
lá cờ ar
Ồ. Tôi thậm chí không biết tại sao nó lại ở đó ngay từ đầu...Tôi không bao giờ biết mình đã thêm nó

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.