Как я прохожу проверку подлинности к “открытой” сети беспроводного поставщика, не используя браузер?

версия жемчуга, с комментариями.

#! /usr/bin/perl 

use strict;

use Date::Parse;
use Date::Format;

my $format = '%b %d %R';

my %IP=();

# read the input file, convert date/time to a time_t timestamp,
# and store it into a hash of arrays (HoA) 'man perldsc' for details
while(<>) {
    chomp;
    my($month, $day, $time, $ip) = split ;
    my $time_t = str2time("$month $day $time");
    push @{ $IP{$ip} }, $time_t;
};

# NOTE: hashes are inherently unsorted. replace "keys %IP" below
# with an IP sort function if you need the IPs sorted - e.g.
# http://www.perlmonks.org/?node_id=37889

# print the first and last time stamp seen, converting
# back to the same time format as the input.
foreach my $key (keys %IP) {
    # sort the array held in $IP{$key} just in case the input
    # lines are out of order
    sort @{ $IP{$key} } ;

    my $first = $IP{$key}[0];
    my $last = $IP{$key}[scalar @{ $IP{$key} }-1];

    # print the first and last time seen
    # note: if an IP was seen only once, first and last will be the same.
    # easy enough to add an if or unless here if you want to exclude 
    # IPs where first == last.
    print time2str($format,$first) . " $key\n";
    print time2str($format,$last) . " $key\n\n";
}

если Вы хотите передать по каналу исходный журнал в это, а не журнал, будучи переданным по каналу в grep, awk, и sed, то вносят следующие изменения.

  1. сразу после while(<>) {, добавить next unless /DHCPACK/;
  2. измените строку с split кому:

    my ($month,$day,$year,undef,undef,undef,undef,$IP) = split;
    
13
05.03.2014, 19:36
4 ответа
[1123108] Ключ к решению подобных проблем - умение задать вопрос. Я искал в Google "как получить доступ к Panera bread wifi" и обнаружил этот драгоценный камень.[12194]Auto login to open Wifi[12195]В этой статье было несколько скриптов, которые можно было использовать для облегчения автоматического входа в систему. Я решил включить пример для Panera Bread, который использует библиотеку Python's Mechanize. [12196] Решение использует директорию [1123617] диспетчера NetworkManager's [1123689] dispatcher.d[1123690][1123618] для выполнения скриптов в любое время, когда конкретный сетевой интерфейс поднимается или опускается. В статье подробно описывается сценарий, который вы поместили бы в эту директорию, [1123619]/etc/NetworkManager/dispatch.d[1123620], под названием [1123621]07-autologin_openwifi[1123622]. Вот этот скрипт:[12197]И вот скрипт Panera bread, [1123623]panera.py[1123624]:[12198]Я рекомендую вам прочитать всю статью, если вас интересуют другие методы выполнения автоматического входа в систему. В статье было еще несколько открытых WiFi сетей, которые были написаны для Балтимора, MD области.[1123119]:[12198]
12
27.01.2020, 19:53
[1122978]В зависимости от того, как реализована аутентификация, вы можете послать HTTP-запрос на получение доступа. Однако это зависит от многих аспектов конкретной реализации. [12138]Имейте в виду, что такие типы аутентификации применяются для того, чтобы не позволять автономным системам иметь доступ только браузерам, а это именно то, что вы пытаетесь обойти.[12139]В идеале, у вас должен быть телефон, который вы можете настроить как точку доступа wifi и подключить ваш пи к этой сети, чтобы вы могли делать все, что захотите, но это не бесплатно.[12140]TL;DR: Ничтожества не могут быть выбором[1122985].
1
27.01.2020, 19:53

Очевидно, эти сети с веб-аутентификацией полагаются на пост-аутентификацию контроля доступа на основе MAC, поэтому вы можете просто аутентифицироваться на другом устройство при подделке MAC-адреса вашего Pi, и тогда ваш Pi должен получить доступ к сети.

Получил этот совет от http://frankiejarrett.com/how-to-connect-apple-tv-to-a-hotel-wi-fi-network/

1
27.01.2020, 19:53

Если у вас есть второе сетевое устройство, вы можете настроить переадресацию NAT. Подключитесь к своей «внутренней» сети с помощью мобильного телефона или ноутбука, и RPi переадресует это соединение в сеть в целом. Затем авторизуйтесь в браузере на своем ноутбуке или телефоне. Сеть видит внешний MAC-адрес вашего RPi и связывает его с аутентифицированным соединением.

Я регулярно делаю это с помощью карманного туристического маршрутизатора (старый AirPort Express) для подключения к Интернету в отеле, после чего я могу подключить свой Chromecast и другие устройства к этой сети без повторной аутентификации.

Еще проще ... Если ваше сетевое устройство USB и работает с портативным компьютером, подключите его к портативному компьютеру и войдите в сеть. Затем снова подключите его к RPi. Он должен работать несколько часов.

1
27.01.2020, 19:53

Теги

Похожие вопросы