How to use wpa_cli command
wpa_cli command เป็น command ที่มีอยู่ใน wpa_supplicant package ซึ่ง command นี้จะสามารถตรวจสอบสถานะการทำงาน, การแก้ไขค่า configurationต่างๆไม่ว่าจะเป็น trigger events หรือการใส่ค่าของ passphase เมื่อเวลา connect wireless
การใช้งาน wpa_cli command
ในการทำงานของ wpa_cli นี้จะสามารถทำงานได้ 2 mode การทำงานคือ command line interpreter เช่น wpa_cli -i eth1 scan หรือ interactive shell เช่น wpa_cli -i eth1 ในการใช้งานเราสามารถพิมพ์ command แบบย่อได้อย่างเช่น ต้องการตรวจสอบสถานะก็สามารถพิมพ์ได้ว่า wpa_cli -i eth1 stat แทนการพิมพ์ wpa_cli -i eth1 status ซึ่งรายละเอียดของคำสั่งแบบย่อนี้สามารถดูได้จากตารางด้านล่างนี้
Full command | Short command | Description |
status | stat | displays the current connection status |
disconnect | disc | prevents wpa_supplicant from connecting to any access point |
quit | q | exits wpa_cli |
terminate | term | kills wpa_supplicant |
reconfigure | recon | reloads wpa_supplicant with the configuration file supplied (-c parameter) |
scan | scan | scans for available access points (only scans it, doesn’t display anything) |
scan_display | scan_d | displays the results of the last scan |
list_networks | list_n | displays a list of configured networks and their status (active or not, enabled or disabled) |
select_network | select_n | select a network among those defined to initiate a connection (ie select_network 0) |
enable_network | enable_n | makes a configured network available for selection (ie enable_network 0) |
disable_network | disable_n | makes a configured network unavailable for selection (ie disable_network 0) |
remove_network | remove_n | removes a network and its configuration from the list (ie remove_network 0) |
add_network | add_n | adds a new network to the list. Its id will be created automatically |
set_network | set_n | shows a very short list of available options to configure a network when supplied with no parameters.See next section for a list of extremely useful parameters to be used with set_network and get_network. |
get_network | get_n | displays the required parameter for the specified network. See next section for a list of parameters |
save_config | save_c | saves the configuration |
การใช้คำสั่ง wpa_cli ด้วย command set_networkสามารถใช้งา่นดังตัวอย่างด้านล่าง
123 [crayon-6420e3b44baa0991215477 class="jive-code"]set_network <network id> <key> <parameter> [<parameter>][/crayon]
การใช้คำสั่ง wpa_cli ด้วย command get_networkสามารถใช้งา่นดังตัวอย่างด้านล่าง
123 [crayon-6420e3b44baa3379693049 class="jive-code"]get_network <network id> <key>[/crayon]
ในส่วนของพารามิเตอร์ key ของทั้ง set_network และ get_network สามารถดูรายละเอียดได้ดังตารางด้านล่าง
Key | Description | Parameters |
ssid | Access point name | string |
id_str | String identifying the network | string |
priority | Connection priority over other APs | number (0 being the default low priority) |
bssid | Mac address of the access point | mac address |
scan_ssid | Enable/disbale ssid scan | 0, 1, 2 |
key_mgmt | Type of key management | WPA-PSK, WPA_EAP, None |
pairwise | Pairwise ciphers for WPA | CCMP, TKIP |
group=TKIP | Group ciphers for WPA | CCMP, TKIP, WEP104, WEP40 |
psk | Pre-Shared Key (clear or encrypted) | string |
wep_key0 | WEP key (up to 4: wep_key[0123]) | string |
eap | Extensible Authentication Protocol | MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, TTLS |
identity | EAP identity string | string |
password | EAP password | string |
ca_cert | Pathname to CA certificate file | /full/path/to/certificate |
client_cert | Pathname to client certificate | /full/path/to/certificate (PEM/DER) |
private_key | Pathname to a client private key file | /full/path/to/private_key (PEM/DER/PFX) |
ตัวอย่างการใช้งาน set_network ด้วยวิธี command line:
123456789101112131415 [crayon-6420e3b44baa9028332724 class="jive-code"]set_network 0 ssid "my access point"set_network 0 id_str Home_Networkset_network 0 bssid 00:0d:0b:64:00:6cset_network 0 scan_ssid 0set_network 0 key_mgmt WPA-PSKset_network 0 pairwise CCMP TKIPset_network 0 group CCMP TKIPset_network 0 psk "makemeveryverysecret"set_network 0 EAP TLSset_network 0 "user@host.com"set_network 0 ca_cert "/etc/cert/ca.pem"set_network 0 client_cert "/etc/cert/user.pem"set_network 0 private_key "/etc/cert/user.prv"[/crayon]
ตัวอย่างการ setting set_network keys ในไฟล์ wpa_supplicant.conf:
123456789101112 [crayon-6420e3b44baab548684988 class="jive-code"]network={ssid="my access point"id_str="Home_Network"bssid=00:0d:0b:64:00:6cscan_ssid=0key_mgmt=WPA-PSKpairwise=CCMP TKIPgroup=CCMP TKIPpsk=c2277f7dd8cb0000fe000000b76cfda7102ed7eefbd29ad0000000000f5e349a}[/crayon]
ขอขอบคุณข้อมูลจากทาง Red Hat ครับ