Câu trả lời:
Bạn có thể sử dụng iwlist
công cụ để in ra tất cả các chi tiết của các điểm truy cập gần đó. Giả sử thiết bị không dây của bạn được gọi là wlan0
:
sudo iwlist wlan0 scan
Đầu ra từ iwlist sẽ hiển thị từng 'Ô' (hoặc điểm truy cập) mà nó tìm thấy, bao gồm các chi tiết sau về loại mã hóa:
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Điều này cho thấy rằng một mạng gần tôi đang sử dụng WPA2, sử dụng khóa chia sẻ trước (PSK).
NetworkManager
có một phụ trợ dòng lệnh tuyệt vời được gọi nmcli
. Hạn chế nhỏ là một số lệnh trong 15.04 khác với phiên bản 14.04 củanmcli
.
Ubuntu 14.04
nmcli -f NAME con status
cho phép liệt kê tên của các kết nối hiện tại Ví dụ,
$ nmcli -f NAME,DEVICES con status
NAME DEVICES
Serg-Wifi wlan0
Bây giờ, để liệt kê chi tiết cụ thể về một kết nối, chúng ta có thể làm nmcli con list id "WifiName"
. Để cụ thể hơn, chúng tôi đang tìm kiếm dòng nói key-mgmt
.
$ nmcli con list id "SergWifi" | awk '/key-mgmt/ {print $2}'
wpa-psk
Như vậy chúng ta biết, wifi này sử dụng bảo vệ WPA.
Một gợi ý khác là dòng sau:
802-11-wireless.security: 802-11-wireless-security
Bây giờ, làm thế nào để chúng ta đặt điều này vào cùng một kịch bản? Nếu bạn chỉ có một kết nối được thiết lập,
nmcli con list id "$(nmcli -t -f NAME con status)" | awk '/key-mgmt/||/802-11-wireless\.security/ {print $2}'
Ở đây, chúng tôi chỉ thao tác nmcli
với cờ -t để chỉ cung cấp cho chúng tôi tên của Điểm truy cập wifi mà không có tiêu đề đẹp và sử dụng nó trong dấu ngoặc thay thế tham số $( . . .)
và cung cấp làm đầu vào nmcli con list id
để liệt kê dữ liệu về Điểm truy cập đó. Cuối cùng,awk
chỉ cần lọc ra các dòng cần thiết.
Nếu bạn có kết nối wifi được thiết lập nhưng cũng có kết nối Ethernet, nmcli -f NAME con status
sẽ xuất ra nhiều dòng. Tôi đề nghị lọc ra wifi từ danh sách đó, với nmcli -f NAME,DEVICES con status | awk '/wlan0/ {print $1}'
. Phần còn lại của quá trình xử lý sẽ giống như trên.
Ubuntu 15.04
Các lệnh trên dịch trong 15.04 như sau:
nmcli -t -f NAME,DEVICE con status | awk -F':' '/wlan0/{print }'
để có được tên của kết nối được thiết lập trên wlan0
nmcli con show "ConnectionName"
để liệt kê chi tiết về kết nối đã thiết lập của bạn.Lưu ý bên lề: trong Ubuntu 14.04 có nm-tool
liệt kê thông tin về các kết nối hiện tại của bạn ở định dạng dễ tổ chức, tuy nhiên nó không có trong 15.04, do đó tôi khuyên bạn nên tự học và chơi với nó