আমি কীভাবে একটি ব্রাউজার ব্যবহার না করে ওয়্যারলেস সরবরাহকারীর "উন্মুক্ত" নেটওয়ার্কে অনুমোদন করব?


13

এই ধরণের সেটআপ শপিংমল এবং বিমানবন্দরগুলিতে সাধারণ বলে মনে হয়। ওয়েস্টার্ন কানাডায় শ এমন একটি পরিষেবা সরবরাহ করে এবং এটিকে "শ ওপেন" বলে। আমি নিশ্চিত যে অন্যান্য লোকালগুলিতে টি-মোবাইল ইত্যাদি সরবরাহকারীদের থেকে একই রকম পরিষেবা রয়েছে pretty

সেল ফোন এর মতো কিছু থেকে এটি করা খুব জটিল নয়। জনসাধারণের অ্যাক্সেসের জন্য এটি "উন্মুক্ত" হওয়ায় ওয়াইফাই হটস্পটে সংযোগ করার জন্য কোনও প্রমাণীকরণের প্রয়োজন নেই। আমি আমার ব্রাউজারটি ব্যবহার না করা এবং আইএসপি দ্বারা সরবরাহিত কোনও নির্দিষ্ট ওয়েবপৃষ্ঠায় সাইন ইন না করা পর্যন্ত আমার সেল ফোন অ্যাপসগুলির মাধ্যমে ওয়েবসাইট বা দূরবর্তী পরিষেবাগুলির সাথে সংযুক্ত হবে না ।

আমার প্রশ্নটি সহজভাবে বলা হয়েছে: সাধারণত কোনও traditionalতিহ্যবাহী ব্রাউজার নেই এমন কোনও ডিভাইস থেকে আমি কীভাবে প্রমাণীকরণের পদক্ষেপটি স্বয়ংক্রিয় করব?

আমার, আমার বিশেষ ক্ষেত্রে, একটি রাস্পবেরি পাই সফ্টওয়্যার দিয়ে কনফিগার করা হয়েছে যা আমি ট্রেড শোগুলিতে ব্যবহার করতে চাই The থিসের অবস্থানগুলিতে একই ধরণের "ওপেন" হটস্পট রয়েছে। রাসপি বলতে বোঝায় আত্মনির্ভর থাকা। এটি কেবল তার ব্যবসা করে এবং একটি ওয়েবসাইটে কথা বলে। তবে এই আউটবাউন্ড সংযোগটি আইএসপিগুলি "ওপেন" সংযোগ দ্বারা অবরুদ্ধ করা হয়েছে কারণ আমি নেই, এবং না আমি প্রক্রিয়াটির ব্রাউজার অংশটি সম্পূর্ণ করতে পারি।

ধরে নিলাম যে কোনও নির্দিষ্ট সরবরাহকারীর নেটওয়ার্কে এটি করার জন্য আমার কাছে শংসাপত্র রয়েছে, আমি কীভাবে পাই এর সাথে টার্মিনাল সেশন খোলার প্রয়োজন ছাড়াই প্রক্রিয়াটির সেই অংশটি স্বয়ংক্রিয় করতে পারি? এমনকি এখানে কী ধরণের প্রযুক্তি ব্যবহার করা হয়, যা আমি অনুসন্ধান করতে পারি?


আপনার পাই এর লিনাক্স আছে তা ধরে নিলে কি এটির সাথে wgetপ্রোগ্রামটি ইনস্টল করা আছে?
ডেভিড উইলকিনস

1
আপনার প্রশ্নটি আসলে লিনাক্স বা ইউনিক্স সম্পর্কিত নয়, এটি সুপার ব্যবহারকারীর পক্ষে আরও ভাল ফিট হতে পারে । এছাড়াও, পাই-তে কোনও ব্রাউজার ইনস্টল করতে চান না এমন কোনও কারণ রয়েছে কি? links2উদাহরণস্বরূপ আপনি সর্বদা একটি সাধারণ পাঠ্য-ভিত্তিক, কমান্ড লাইন ব্রাউজার ব্যবহার করতে পারেন ।
টেরডন

@ ইটারডন যতক্ষণ না পাই লিনাক্স বা অন্য কোনও ইউনিক্স বৈকল্পিক চালাচ্ছেন, প্রশ্নটি এখানে পুরোপুরি অন-টপিকের। বিপরীতভাবে, আমি পাই পাই না যে এসইউর সংজ্ঞা অনুযায়ী পাই একটি কম্পিউটার (তবে আমি সে সম্পর্কে নিশ্চিত নই, আমি কখনই সেই সংজ্ঞাটি বুঝতে পারি নি এবং এটি কোথাও লিখিত দেখিনি)।
গিলস 'দুষ্ট হওয়া বন্ধ করুন' ২৩:৩৩

@ গিলস হ্যাঁ, এটি বিষয়টিতে রয়েছে, আমি বন্ধ করার পক্ষে ভোট দিইনি। আমি কেবল পরামর্শ দিচ্ছিলাম এটি এসইউতে আরও ভাল ফিট হতে পারে। এবং হ্যাঁ, পাই প্রশ্নগুলি সেখানে স্বাগত।
টেরডন

উত্তর:


12

এই জাতীয় সমস্যা সমাধানের মূল বিষয়টি কীভাবে প্রশ্ন জিজ্ঞাসা করতে হয় তা জানা। আমি গুগলে "কীভাবে প্যানের রুটি ওয়াইফাই অ্যাক্সেস করবেন" সন্ধান করে অনুসন্ধান করেছি এবং এই রত্নটি তৈরি করেছি।

এই নিবন্ধটিতে বেশ কয়েকটি স্ক্রিপ্ট রয়েছে যা অটো লগ ইন করার সুবিধার্থে ব্যবহার করা যেতে পারে I've আমি পাইনের রুটির উদাহরণটি অন্তর্ভুক্ত করে বেছে নিয়েছি যা পাইথনের মেকানাইজ লাইব্রেরিটি উপস্থাপন করে।

সমাধানটি কোনও নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের উপরে বা নিচে যাওয়ার সময়ে স্ক্রিপ্টগুলি চালানোর জন্য নেটওয়ার্কম্যানেজারের dispatcher.dডিরেক্টরিটি ব্যবহার করে। নিবন্ধটিতে একটি স্ক্রিপ্টের বিবরণ দেওয়া হয়েছে যা আপনি এই ডিরেক্টরিতে /etc/NetworkManager/dispatch.dরেখেছিলেন, ডাকা হয় 07-autologin_openwifi। এই স্ক্রিপ্ট এখানে:

#!/bin/bash
#------------------------------
# By Fahad Alduraibi
# Last update: June 12, 2012
# Version: 1.1
#------------------------------

export LC_ALL=C
LogFile="/var/log/07-WIFI_ACCESS.log"

# The parameters that get passed to the script are:
# $1 = The interface name ( eth0, wlan0 ...etc)
# $2 = Interface status ( "up" or "down" )

# Check if wireless status is up
# I have two wifi cards in my laptop, named "wlan0 and wlan1"
# so I use regular expression "wlan[01]" to match both of them.
if [[ "$1" =~ wlan[01] && $2 == "up" ]]; then

    # Get the network name from "iwconfig" or (can also locate the network based on IP or MAC address if needed)
    ESSID=$(/sbin/iwconfig $1 | grep ESSID | cut -d'"' -f2)

    # Record the date and time for debugging purposes only
    echo "[`date`] ESSID=($ESSID)" >> $LogFile

    # If the wireless name matches then run its python script
    if [[ "$ESSID" == "BCPL-PUBLIC-WIFI" ]]; then
        /usr/bin/python /myscripts/baltimore-county_library_wifi.py 1>> $LogFile 2>&1
    elif [[ "$ESSID" == "PANERA" ]]; then
        /usr/bin/python /myscripts/panera.py 1>> $LogFile 2>&1
    elif [[ "$ESSID" == "Nordstrom_Wi-Fi" ]]; then
        /usr/bin/python /myscripts/nordstrom.py 1>> $LogFile 2>&1
    #elif .... (you can add more open wifi here)

    fi
fi

#if [[ "$1" =~ wlan[01] && $2 == "down" ]]; then
    ##If you want to do somehting when the network is down
#fi

এবং এখানে Panera রুটি স্ক্রিপ্ট, এর panera.py:

#------------------------------
# By Fahad Alduraibi
# Last update: June 12, 2012
# Version: 1.1
#------------------------------
import mechanize
import sys

br = mechanize.Browser()
br.set_handle_equiv(True)
#br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0')]

testURL = 'http://fadvisor.net/blog/'
response = br.open(testURL)

if response.geturl() == testURL:
  print "FAD: You are already logged in to Panera."
  sys.exit()

try:
  forms = mechanize.ParseResponse(response, backwards_compat=False)
except:
  print "FAD: Error in parsing forms, Am I already logged in to Panera?"
  sys.exit()

response.close

form = forms[0]
#print form
#print "----------------------------------- Login"
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()

form = forms[0]
#print form
#print "----------------------------------- Validate"
#print
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()

form = forms[0]
#print form
#print "----------------------------------- ConfirmLogin New"
#print
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()

form = forms[0]
#print form
#print "----------------------------------- ConfirmLogin Validate"
#print
request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()

form = forms[0]
#print form
#print "----------------------------------- CompleteLogin New"
#print

request = form.click()
response = mechanize.urlopen(request)
forms = mechanize.ParseResponse(response, backwards_compat=False)
response.close()

form = forms[0]
#print form
#print "----------------------------------- HttpLoginRequest"
#print

request = form.click()
response = br.open(request)
#print response.read()

response.close()
print "--- Panera Done ---"

আপনি যদি স্বয়ংক্রিয়ভাবে লগ ইন করার জন্য অন্যান্য পদ্ধতিতে আগ্রহী হন তবে পুরো নিবন্ধটি পড়তে আমি আপনাকে উত্সাহিত করি The


এটিই একমাত্র সমাধান হতে পারে, দুর্ভাগ্যক্রমে প্রতিটি ভিন্ন সরবরাহকারীর জন্য ইউআরএলগুলি নির্ধারণ করতে এবং ক্ষেত্রগুলি গঠনের জন্য বিপরীত প্রকৌশলটির মোটামুটি বিট প্রয়োজন, যার অবশ্যই নিজস্ব চ্যালেঞ্জ রয়েছে যার মধ্যে কমপক্ষে বিকাশকারীকে সমস্ত সম্ভাব্য সরবরাহকারীদের জানতে এবং থাকতে হবে তাদের প্রথম হাত অ্যাক্সেস; আমার নির্দিষ্ট দৃশ্যের জন্য অগত্যা সম্ভব নয়। আমি অনুমান করি যে এটি আমি আশা করতে পারি সেরা সম্পর্কে, যদিও। অবশ্যই, যে কোনও একটি সরবরাহকারীর সমাধান তাদের ওয়েব প্রমাণীকরণ ফর্মগুলি আপডেট করার সিদ্ধান্ত নেওয়ার সাথে সাথেই তা ভেঙে যেতে পারে।
অক্টোপাস

1

কীভাবে প্রমাণীকরণ কার্যকর হয় তার উপর নির্ভর করে আপনি অ্যাক্সেস পাওয়ার জন্য কোনও HTTP অনুরোধ পাঠাতে সক্ষম হতে পারেন। এটি যদিও বিশেষ প্রয়োগের অসংখ্য দিকের উপর নির্ভর করে।

মনে রাখবেন, কেবল ব্রাউজারগুলিকে অ্যাক্সেসের অনুমতি দেওয়ার সময় স্বায়ত্তশাসিত সিস্টেমগুলি বাইরে রাখার জন্য এই ধরণের প্রমাণীকরণের ব্যবস্থা করা হয় যা আপনি ঠিকঠাক চেষ্টা করছেন।

আদর্শভাবে, আপনার কাছে একটি ফোন থাকবে যা আপনি একটি ওয়াইফাই হটস্পট হিসাবে সেট আপ করতে পারেন এবং আপনার পাইটিকে সেই নেটওয়ার্কের সাথে সংযুক্ত করতে পারেন যাতে আপনি যা খুশি করতে পারেন, তবে এটি নিখরচায় নয়।

টিএল; ডিআর: ভিক্ষুকরা নির্বাচক হতে পারে না


1
এটি যদি কোনও ব্রাউজারের মাধ্যমে হয়ে থাকে তবে এটি অবশ্যই এইচটিটিপি ব্যবহার করবে, সুতরাং এটি অবশ্যই সম্ভব। তবে, এই ধরণের প্রমাণীকরণের জন্য কোনও প্রোটোকল বা স্ট্যান্ডার্ড নেই (এএফআইকে), আপনাকে সরবরাহকারীর জন্য কিছু বাস্তবায়ন করতে হবে। আপনি যদি এটি কোনও জায়গায় নিয়ে যেতে চান তবে এটির কোনও প্রয়োগ নেই don't আমি ফোনের হটস্পটের সাথে যাব - আপনি ফোনটি ওপেন নেটওয়ার্কে সংযুক্ত করলে এটি বিনামূল্যে হবে
স্বর্ণলোকস

1

স্পষ্টতই ওয়েব-ভিত্তিক এথ সহ এই নেটওয়ার্কগুলি ম্যাক ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ পোস্ট-প্রমাণীকরণের উপর নির্ভর করে, তাই আপনি আপনার পাই এর ম্যাক ঠিকানাটি ফাঁকি দেওয়ার সময় কেবল কোনও আলাদা ডিভাইসে প্রমাণীকরণ করতে পারেন এবং তারপরে আপনার পাইটি নেটওয়ার্কে উঠতে সক্ষম হওয়া উচিত।

Http://frankiejarrett.com/how-to-connect-apple-tv-to-a-hotel-wi-fi-network/ থেকে এই টিপটি পেয়েছেন


1

আপনার যদি দ্বিতীয় নেটওয়ার্ক ডিভাইস থাকে তবে আপনি NAT ফরওয়ার্ডিং সেট আপ করতে পারেন। আপনার সেলফোন বা ল্যাপটপের সাহায্যে আপনার "অভ্যন্তরীণ" নেটওয়ার্কে সংযোগ স্থাপন করুন এবং আরপিআই সেই সংযোগটি নেটওয়ার্কের সাথে এগিয়ে রাখুন। তারপরে আপনার ল্যাপটপ বা ফোনে ব্রাউজারটি দিয়ে প্রমাণীকরণ করুন। নেটওয়ার্কটি আপনার আরপিআইয়ের বাহ্যিক MAC ঠিকানা দেখে এবং যাচাইযোগ্য সংযোগের সাথে যুক্ত করে।

আমি হোটেলের ইন্টারনেটের সাথে সংযোগ রাখতে আমি পকেট ট্র্যাভেল রাউটার (পুরানো এয়ারপোর্ট এক্সপ্রেস) দিয়ে নিয়মিত এটি করি, তারপরে আমি পুনরায় প্রমাণীকরণ না করেই আমার Chromecast এবং অন্যান্য ডিভাইসগুলিকে সেই নেটওয়ার্কের সাথে সংযুক্ত করতে পারি।

এমনকি সহজ ... আপনার নেটওয়ার্ক ডিভাইসটি যদি ইউএসবি হয় এবং ল্যাপটপের সাথে কাজ করে তবে এটিকে একটি ল্যাপটপের সাথে সংযুক্ত করুন এবং নেটওয়ার্কে লগ ইন করুন। তারপরে এটি আরপিআইতে পুনরায় সংযুক্ত করুন। এটি কয়েক ঘন্টা কাজ করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.