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?