Programlı olarak havaalanı aracı olmadan kullanılabilir wifi ağları nasıl elde edilir?


4

Kullanmaktan başka bir yolu var mı airport Kullanılabilir wifi ağlarının listesini programlı olarak almak için komut satırı yardımcı programı (bir uygulamanın tüketimi için)? İşte bağlam:

Wifi ağlarını yönetmek için bir komut satırı uygulamasına sahibim ( https://github.com/keithrbennett/wifiwand , gem install wifi-wand ) Kullanılabilir wifi ağlarının listesini kullanarak airport -s.

Maalesef, ağ adları doğru bir şekilde sunulduğundan, adın içerdiği boşlukların olup olmadığını ya da kaç tane boşluk içerdiğini belirlemenin bir yolu yoktur. Verileri XML biçiminde çıkarmak için bir -x seçeneği vardır, ancak Ruby'de XML'in ayrıştırılması genellikle yüklemeyi gerektirir. nokogiri yasal olarak sorunlu olan gem, ve kullanıcılarıma dayatmak istemiyorum. Bu yüzden çoğu durumda doğru sonuçları elde etmek için bu garip ve% 100'den az güvenilir süreçten geçiyorum.

Bu bilgiyi almak için varsa diğer seçeneklerim nelerdir?

Yanıtlar:


4

Kullanabilirsiniz (yanlış) awk sonucu filtrelemek için:

airport -s -x| awk '          { if (catch == 1) { print; catch=0 } }
                   /SSID_STR/ { catch=1 }'
<string>UPC Wi-Free</string>
<string>UPCE191589</string>
<string>The Cloud</string>
<string>UPCE191589</string>
<string>The Cloud</string>

Çok hoş değil, ama iş yapar :-)

OTOH, bir SSID herhangi bir şey olabilir, yazdırılabilir bile olması gerekmez (bkz. Geçerli bir SSID ve parolanın ne olduğunu tanımlayan bir standart var mı? ). Bu nedenle, SSID'yi metin tabanlı yardımcı programlarda ele alma girişimi er ya da geç başarısız olacaktır.


Teşekkürler, bu harika! Komuttaki bütün beyaz boşlukların bir nedeni var mı? Kaldırdım ve iyi çalışıyor gibi görünüyor: airport -s -x | awk '{ if (catch == 1) { print; catch=0 } } /SSID_STR/ { catch=1 }'.
Keith Bennett

@KeithBennett Teknik bir sebep yok, okuması daha kolay (en azından benim için). Sıralama önemlidir, ancak iki satırı değiştiremezsiniz.
nohillside

Teşekkürler. Size kaynak kodunda atıf vermek istiyorum. Bu iyi olur mu, eğer öyleyse nasıl? (Twitter kolu vb.)
Keith Bennett

@KeithBennett AD'deki kullanıcı profilime bağlantı? Veya Twitter sayfasını Twitter sayfasından al :-)
nohillside
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.