Ukuqapha nokulawula isilawuli kude kwamadivayisi we-Linux/OpenWrt/Lede nge-port 80, kuqhubekile

Lena ingxenye yokugcina yesihloko, nasi isiqalo habr.com/zu/post/445568
Ngesikhathi sokugcina ngibhala mayelana nendlela engisebenzise ngayo ukuqapha idivayisi, manje sizokhuluma ngokuphatha. Ezingxoxweni "nama-techies" engxenyeni yeKhasimende, ngivame ukuhlangana nombono olinganiselwe wamakhono anjalo amadivaysi amancane (enemithombo yememori ephansi nokusebenza), abaningi bakholelwa ukuthi "ubukhulu esibudingayo ukuthumela ukuqalisa kabusha. , ngokunye okungathí sina - sizothumela i-brigade" .
Kodwa umkhuba ubonisa ukuthi lokhu akulona iqiniso ngokuphelele. Nalu uhlu oluncane lwemisebenzi ejwayelekile ejwayelekile:

  1. Ukuxilongwa kwenethiwekhi nokuxazulula inkinga. Ngemuva kwembobo ye-ethernet yomzila wakho, olunye ucezu lwensimbi ngokuvamile "luhlala", olunekheli langaphakathi le-ip. Ngezinye izikhathi, kungase (kufanele) kube "pinged". Noma ukuphathwa komhubhe - uma umhubhe ngokungazelelwe ungavuki ku-router esebenza ngemodemu ye-3G, kodwa sibona i-router ngokwayo.
  2. Isevisi yesistimu. Isibuyekezo se-Firmware, ukuthuthukiswa kwezikripthi zesevisi.
  3. Equilibristics. Lokhu kungabizwa ngokuthi "ukuhlanekezela", kodwa umqondo we "tightrope walker" njengoba, ngicaphuna, "ikhono lomdlali wesekisi ukugcina ibhalansi endaweni engazinzile yomzimba" - ilingana kangcono. Izimo ezinjalo zivela ngenxa yesabelomali esilinganiselwe sekhasimende. Nginikeze izibonelo ezimbalwa ngezansi, kodwa kusukela lapho azihlobene ngqo nesihloko sendaba, ngizifaka kumanothi

ukuqapha i-wifiIsihloko esisemfashinini seminyaka emihlanu edlule, ikakhulukazi phakathi kwamaketanga okuthengisa e-federal. Uhamba kancane uzungeza izitezi zohwebo, futhi ifoni yakho ephathekayo ene-Wi-Fi ivuliwe, emzamweni “wokunamathela” kolunye uchungechunge lwenethiwekhi, ivame ukuthumela amaphakethe e-Probe Application angahlaziywa ukuze kubalelwe wena. : ufika kangaki kulesi sitolo, uhamba ngamaphi ama-trajectories nokunye. Ngaphezu kwalokho, idatha iyaqoqwa, ihlaziywe, kudwetshwe amamephu okushisa, futhi abaphathi "bakhiphe" imali kubaphathi noma abatshalizimali ngezithombe ezinjalo. Okwamanje .... "ayikho imali, kodwa ubambelele ...", futhi umphumela (wangempela) kufanele uboniswe kakade, ingoma endala enhle "Yebo, yebo, ngakho-ke sizohlinzeka ngama-ciscos kanye noma yini oyifunayo, kodwa manje sidinga ukukhombisa iKhasimende umphumela! Ngendlela, bakhohlwe ukusho ukuthi iKhasimende livumele imishini yethu ukuthi ixhunywe ku-hotspot yakhe nge-Wi-Fi, kodwa ngokwesisekelo esijwayelekile, njengokungathi singamakhasimende avakashi. Futhi manje kufanele wenze ama-equilibrist routers - ama-subinterfaces amaningana e-WiFi ayakhuphuka, enye yawo ibambelele ku-hotspot, bese eyesibili iqapha imvelo, ithululela yona ngokwayo umphumela we-tcpdump, bese ipakisha okuqukethwe kwefayela endaweni yomlando futhi. izingozi zokufa "ngokudla ngokweqile" ukuzama ukukhafulela okuqukethwe kuseva ye-ftp. Akumangazi ukuthi i-router equilibrist imvamisa "iphuka" futhi ngandlela thile kufanele "ivuselelwe kabusha" ukude.

UbubanziLapha kulula ukuchaza isimo ngento efana nalesi sitatimende sekhasimende: “Sifuna uxhaxha lwezindawo ezishisayo ezizosebenza emishinini engaziwa kusenesikhathi, ngamashaneli, kodwa esingakaziwa. Oh, sikhohlwe ukusho, asifuni nje kuphela ukubonisa izikhangiso kumakhasimende, kodwa futhi sihlaziye yonke into eseduze nesayithi lokufaka i-hotspot. Cha, asazi ukuthi kungani okwamanje, kodwa sizoqhamuka nakho, ungangabazi, sikwazile ukuqhamuka nalo mbono. ”

Futhi akumele sikhohlwe ukuthi ngenxa yezimo eziningi ezingaqinisekile kusengaphambili, ukuphathwa kufanele kwenziwe ngaphansi kwezimo ezingezona ezijwayelekile, lapho singakwazi ukuxhuma ku-router ngqo nge-ip: port futhi siphoqeleka ukuthi simane silinde ukuthi umsebenzi uvele kusuka. yona. Uma sithatha abstract, inkhulumomphendvulwano phakathi kweseva nerutha ingamelwa kanje:

  • Umzila: Sawubona. Ngiyirutha enjalo, ingabe ikhona imisebenzi kimi?
  • Iseva: irutha enjalo, ngikubhalisele ukuthi uyaphila. Nansi inselele: ngibonise umphumela womyalo we-ifconfig?
  • Umzila: Sawubona. Ngiyi-router enjalo, okokugcina lapho ucela ukukhombisa umphumela we-ifconfig, nansi. Ingabe ikhona imisebenzi yami?
  • Iseva: irutha enjalo, ngikubhalisele ukuthi uyaphila. Ayikho imisebenzi yakho.

Umbuzo othakazelisa kakhulu uwukuthi: i-router ekude ingathumela kanjani inani elithile lolwazi? Engxenyeni yokugcina, ngichaze ukuthi i-router, ngenxa yezinsiza ezilinganiselwe, ine-wget "ehlutshiwe", esebenza kuphela nge-GET futhi akukho okunye, akukho klayenti le-ftp noma i-curl. Ngokunembayo, sidinga indlela yendawo yonke, kungakhathaliseki ukuthi yiziphi izici zomhlangano wesithombe. Ngizinzile ekusebenziseni i-wget. Ngokunembayo, ukuthi “kumiswe” kanjani - ngangingenakho ukukhetha 🙂

Ukubhuka ngokusheshaIsixazululo sami sokuphatha siyasebenza, asinqunyelwe kangako, futhi nginesiqiniseko sokuthi sigwegwile, ngisho noma sifanela iningi lamakhasimende ami. KUNGENZEKA kanjani ukuthi ukwenze ngokuhlakanipha - bhala insiza encane ethumela idatha kanambambili nge-POST ngembobo yama-80. Ifake (usizo) ku-firmware yomzila futhi usebenzise i-bash ukuyifinyelela. Kodwa iqiniso liwukuthi: a) udinga ngokushesha b) cishe udinga ukwenza yonke into ekhona "zoo of routers" c) "ungalimazi!" - uma i-router isebenza futhi yenza eminye imisebenzi, zama ukwenza izinguquko ezingeke zithinte ukusebenza okukhona.

Masiqhubekele ekusetshenzisweni. Ake sithi ikhasimende lakho lifuna ku-zabbix ukuqalisa kabusha umzila kalula futhi ngokwemvelo, "ngokuchofoza igundane". Namuhla sizoqala incazelo yokuqaliswa nge-zabbix.
Kumenyu ethi "Administration" -> "Izikripthi" engeza umbhalo omusha. Siyibiza ngokuthi "Qalisa kabusha", njengomyalo sibhala "php /usr/share/zabbix/reboot.php {HOST.HOST}"

Ukuqapha nokulawula isilawuli kude kwamadivayisi we-Linux/OpenWrt/Lede nge-port 80, kuqhubekile

Okulandelayo: Imenyu "Ukuqapha" -> "Idatha yakamuva" -> "Chofoza kwesokudla kumsingathi oyifunayo". Lena yindlela imenyu ezobukeka ngayo ngemva kokwengeza umbhalo.

Ukuqapha nokulawula isilawuli kude kwamadivayisi we-Linux/OpenWrt/Lede nge-port 80, kuqhubekile
Ngokuvumelana nalokho, sibeka umbhalo we-reboot.php ku-directory /usr/share/zabbix (kungase kuhluke kuwe, ngisebenzisa umkhombandlela wezimpande ze-zabbixa).

Ukuphepha komshwana wokuzihlangulaUkuze kube nokucaca kwencazelo embhalweni, ngisebenzisa i-id yomzila kuphela, kodwa angisebenzisi iphasiwedi. Kunguqulo yokusebenza, lokhu akunconywa! Kungani ngenze lokhu: ngoba umbuzo omkhulu ngowokugcina amaphasiwedi ama-routers? Ku-zabbixe ngokwayo "ku-inventory"? Umkhuba ophikisanayo. Njengenketho: khawulela ukufinyelela kwangaphandle kufayela le-reboot.php ngokwalo

qala kabusha.php ifayela

<?php
	// присваиваем параметры с консоли переменным
	$user = $argv[1];
	// ВНИМАНИЕ. Вот здесь в целях безопасности все-таки прописывать пароль устройства! Но для демонстрации мы будем обращаться к базе данных без использования пароля. 
	//$password = $argv[2];
		
	$conn=new mysqli("localhost","db_user","db_password","db_name");
	if (mysqli_connect_errno()) {
		exit();
	}
	$conn->set_charset("utf8");
			
	// "Отправляем" команду reboot за счет изменения поля task таблицы users. В поле task можно отправлять любую команду.
	$sql_users=$conn->prepare("UPDATE users SET task='reboot' WHERE id=? AND status='active';");
	$sql_users->bind_param('s', $user);
	$sql_users->execute();
	$sql_users->close();
?>

Empeleni konke. Umbuzo othi "ungawuthola kanjani umphumela wokukhishwa komyalo ohlangothini lwedivayisi" uhlala uvulekile. Ake sicabangele umsebenzi sisebenzisa umyalo we-ifconfig njengesibonelo. Umyalo olandelayo ungathunyelwa kudivayisi:

message=`ifconfig`; wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password!&m=$message" -O /tmp/out.txt

, lapho:
umyalezo=`ifconfig` - sabela umphumela wokuphuma komyalo we-ifconfig ekuguquguqukeni komlayezo we-$
wget"xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php - umbhalo wethu we-a.php obhalisa ama-routers futhi wamukele imilayezo evela kuwo
u=umsebenzisi&p=iphasiwedi!&m=$message - imininingwane kanye nenani lokuhlukahluka kombuzo m - inikeza okuqukethwe kokuguquguquka kwe-$message
-O /tmp/out.txt - asidingi okukhiphayo kufayela /tmp/out.txt kuleli cala, kodwa uma le pharamitha ingacacisiwe, i-wget ayisebenzi

Kungani lokhu kusebenza kabiNgoba iyimbobo yokuphepha engaba khona. iphutha elibi kakhulu elingenzeka uma ukukhishwa komyalo wakho, ngokwesibonelo, kuqukethe uphawu "&". Ngakho-ke, kuyadingeka ukuhlunga konke okuthunyelwa kusuka kuma-routers nakho konke okuza kuseva. Yebo, nginamahloni, ngempela. Ekuvikeleni kwami, ngingabhala kuphela ukuthi yonke i-athikili inikezwe indlela yokuphatha ama-routers nge-firmware engacacisiwe, eneziteshi zokuxhumana ezingacacisiwe.

Nokho, ngithinte ikusasa: Angikacabangi ukuthi ngingabonisa kanjani imiphumela (isibonelo, umphumela wokukhishwa komyalo) oza kuseva usebenzisa amathuluzi ajwayelekile e-zabbix.

Ngikukhumbuza ukuthi yonke imithombo ingathathwa endaweni yokugcina ye-Git ku: github.com/BazDen/iotnet.online.git

Source: www.habr.com

Engeza amazwana