Nleba anya na njikwa ngwaọrụ Linux/OpenWrt/Lede sitere na ọdụ ụgbọ mmiri 80, gara n'ihu

Nke a bụ akụkụ ikpeazụ nke akụkọ, ebe a bụ mmalite habr.com/ru/post/445568
Oge ikpeazụ m dere banyere otu m si mejuputa nlekota ngwaọrụ, ugbu a, anyị ga-ekwu maka njikwa. Na mkparịta ụka na "ndị ọrụ nkà na ụzụ" n'akụkụ ndị ahịa, m na-ezutekarị echiche ole na ole nke ikike nke obere ngwaọrụ ndị dị otú ahụ (nke nwere ebe nchekwa dị ala na arụmọrụ), ọtụtụ ndị kwenyere na "ihe kachasị anyị mkpa bụ iziga reboot, maka ihe ọzọ. serious anyi ga ezipu otu”.
Mana omume na-egosi na nke a abụghị eziokwu kpamkpam. Nke a bụ obere ndepụta nke ọrụ a na-ahụkarị:

  1. Nchọpụta netwọkụ na nchọpụta nsogbu. N'azụ ọdụ ụgbọ mmiri ethernet nke rawụta gị, a na-enwekarị ngwaike ọzọ nwere adreesị IP nke ya. Mgbe ụfọdụ, ị nwere ike (kwesịrị) "ping" ya. Ma ọ bụ njikwa ọwara - ma ọ bụrụ na ọwara adịghị ebili na mberede na rawụta na-arụ ọrụ site na modem 3G, mana anyị nwere ike ịhụ rawụta n'onwe ya.
  2. Ndozi sistemu. Mmelite firmware, nkwalite edemede ọrụ.
  3. Omume imezi ihe. Enwere ike ịkpọ nke a "mgbagwoju anya", mana echiche nke "equilibrist" dịka, m na-ehota, "Ikike nke onye na-eme ihe nkiri iji nọgide na-enwe nguzozi n'ọnọdụ ahụ na-adịghị akwụsi ike" - dabara mma. Ọnọdụ ndị dị otú ahụ na-ebilite n'ihi oke mmefu ego nke ndị ahịa. N'okpuru ebe a ka m nyere atụ ole na ole, mana ... Ha emetụtaghị isiokwu nke akụkọ ahụ kpọmkwem, etinyere m ha na ndetu

nlekota Wi-FiIsiokwu ejiji maka afọ ise gara aga, tumadi n'etiti agbụ ụlọ ahịa gọọmentị etiti. Ị na-eme njem ntụrụndụ n'ala ebe a na-ere ahịa, ekwentị mkpanaaka gị nwere Wi-Fi gbanyere, n'ịgbalị ịrapara n'ụfọdụ eri nke netwọkụ ahụ, na-ezipụ ngwugwu arịrịọ Probe mgbe niile, nke enwere ike nyochaa iji gbakọọ maka ya. gi: ugboro ole ka ị na-abịa n'ụlọ ahịa a, n'ihi gịnị kpatara ị na-eje ije na trajectories na ndị ọzọ. Mgbe ahụ, a na-anakọta data ahụ, nyochaa, a na-ese maapụ okpomọkụ, na ndị njikwa "na-apụnara" ego n'aka njikwa ma ọ bụ ndị na-etinye ego maka foto ndị dị otú ahụ. Ọfọn, maka ugbu a .... "enweghị ego, ma ị na-ejide ...", na nsonaazụ (ezigbo) kwesịrị igosirịrị, abụ ochie ahụ na-amalite: "Ee, ee, mgbe ahụ n'ezie anyị ga-etinye cis na ihe niile ị chọrọ, ma ugbu a, anyị kwesịrị igosi onye ahịa nsonaazụ! Site n'ụzọ, anyị chefuru ikwu na onye ahịa ahụ kwere ka anyị jikọọ akụrụngwa anyị na ebe ọ na-ekpo ọkụ site na Wi-Fi, mana n'ozuzu ya, dịka a ga-asị na anyị bụ ndị ahịa ọbịa. " Ya mere, anyị ga-eme ka ndị na-anya ụgbọ ala na-emezigharị - a na-ebuli ọtụtụ ihe ntanetị WiFi, otu n'ime ha na-arapara na ebe a na-ekpo ọkụ, nke abụọ na-enyocha gburugburu ebe obibi, na-ebugote tcpdump n'onwe ya, wee tinye ọdịnaya nke faịlụ ahụ n'ime ebe nchekwa na ihe ize ndụ. ịnwụ site na "iribiga ihe ókè" na-anwa ịgbasa ọdịnaya dị na sava FTP. Ọ bụghị ihe mgbagwoju anya na rawụta na-edozi ahụ na-emekarị "na-akụda" na n'ụzọ ụfọdụ ka a ga-emeghachi ya n'ụzọ dịpụrụ adịpụ.

okirikiriỌ dị mfe iji ihe dị ka nkwupụta sitere n'aka onye ahịa kọwaa ọnọdụ ebe a: "Anyị chọrọ netwọk nke ebe a na-ekpo ọkụ na-arụ ọrụ nke ga-arụ ọrụ na ngwá ọrụ ndị a na-amaghị n'oge gara aga, site na ọwa, mana nke anyị na-amabeghị. Oh, anyị chefuru ikwu, ọ bụghị naanị na anyị chọrọ igosi ndị ahịa mgbasa ozi, kamakwa nyochaa ihe niile dị n'akụkụ ebe a na-etinye hotspot. Mba, anyị amaghị ihe kpatara ya, mana anyị ga-achọpụta ya, enwela obi abụọ, anyị nwere ike chepụta echiche a. "

Ma anyị agaghị echefu na n'ihi ọtụtụ ọnọdụ amaghị na mbụ, a ga-emerịrị njikwa na ọnọdụ na-abụghị ọkọlọtọ, mgbe anyị enweghị ike jikọọ na rawụta ozugbo site na IP: ọdụ ụgbọ mmiri ma na-amanye naanị ichere maka ọrụ ya. Ọ bụrụ na anyị na-edobe onwe anyị, mkparịta ụka dị n'etiti ihe nkesa na rawụta nwere ike ịnọchite anya dị ka nke a:

  • Router: Nnọọ. Abụ m onye rawụta dị otú a, enwere m ọrụ ọ bụla?
  • Server: rawụta dị otú ahụ na ndị dị otú ahụ, m aha gị, na ị dị ndụ. Nke a bụ ihe ịma aka: gosi m nsonaazụ nke ifconfig iwu?
  • Router: Nnọọ. Abụ m onye rawụta dị otú ahụ, oge ikpeazụ ị rịọrọ ka igosi nsonaazụ ifconfig, ebe a bụ. Enwere m ọrụ ọ bụla?
  • Server: rawụta dị otú ahụ na ndị dị otú ahụ, m aha gị, na ị dị ndụ. Enweghị ọrụ maka gị.

Ajụjụ kachasị mma: kedu ka onye rawụta dịpụrụ adịpụ ga-esi ziga ụfọdụ ozi? N'akụkụ ikpeazụ, akọwara m na n'ihi oke ego, onye rawụta nwere naanị wget “wepụrụ agbadata” nke na-arụ ọrụ naanị site na GET na ọ nweghị ihe ọzọ; enweghị onye ahịa FTP ma ọ bụ curl. Kpọmkwem karị, anyị chọrọ usoro zuru ụwa ọnụ, n'agbanyeghị atụmatụ nke mgbakọ oyiyi. Abịara m na iji wget. Kpọmkwem, ka m si 'kwụsị' - enweghị m nhọrọ ọ bụla :)

Naanị nkwupụtaNgwọta njikwa m na-arụ ọrụ, ọ bụghị oke oke, ejiri m n'aka na ọ gbagọrọ agbagọ, ọbụlagodi na ọ dabara ọtụtụ ndị ahịa m. Kedu ka ị ga-esi mee ya n'amamihe - dee obere ngwa na-eziga data ọnụọgụ abụọ POST site na ọdụ ụgbọ mmiri 80. Tinye ya (ọrụ ahụ) na firmware rawụta wee nweta ya site na iji bash. Ma nke bụ eziokwu bụ na: a) anyị kwesịrị ngwa ngwa b) eleghị anya anyị kwesịrị ime ihe niile na "zoo of routers" dị ugbu a c) "emela ihe ọjọọ!" - ọ bụrụ na rawụta na-arụ ọrụ ma na-arụ ọrụ ndị ọzọ, gbalịa mee mgbanwe ndị na-agaghị emetụta ọrụ dị adị.

Ka anyị gaa n'ihu na mmejuputa iwu. Ka anyị kwuo na onye ahịa gị chọrọ ịmalitegharị rawụta site na zabbix n'ụzọ dị mfe na n'ụzọ nkịtị, na-eji "pịa òké." Taa, anyị ga-amalite ịkọwa mmejuputa ya na Zabbix.
Na menu “Nchịkwa” -> “Scripts”, tinye edemede ọhụrụ. Anyị na-akpọ ya "Reboot", tinye "php /usr/share/zabbix/reboot.php {HOST.HOST}" dị ka iwu.

Nleba anya na njikwa ngwaọrụ Linux/OpenWrt/Lede sitere na ọdụ ụgbọ mmiri 80, gara n'ihu

Na-esote: NchNhr "Nleba anya" -> "Data kacha ọhụrụ" -> "pịa aka nri na ọnụ netwọk achọrọ." Nke a bụ ihe menu ga-adị ka mgbe ịgbakwunye edemede.

Nleba anya na njikwa ngwaọrụ Linux/OpenWrt/Lede sitere na ọdụ ụgbọ mmiri 80, gara n'ihu
N'ihi ya, anyị na-etinye reboot.php script na /usr/share/zabbix ndekọ (nke gị nwere ike ịdị iche, m na-eji zabbixa mgbọrọgwụ ndekọ).

Nkwusa nchekwaIji mee ka nkọwa ahụ doo anya na edemede ahụ, naanị m na-eji id rawụta, mana anaghị m eji paswọọdụ. A naghị atụ aro ime nke a na ụdị mmepụta! Gịnị kpatara m ji mee nke a: n'ihi na nnukwu ajụjụ bụ ebe a na-echekwa okwuntughe maka ndị na-anya ụgbọ ala? Na zabbixe n'onwe ya na "data ngwa ahịa"? Omume arụmụka. Nhọrọ: machibido ohere mpụga na faịlụ reboot.php n'onwe ya

Faịlụ reboot.php

<?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();
?>

Ọ gwụla. Ajụjụ a ka ghere oghe: "otu esi enweta nsonaazụ nke ime iwu site na ngwaọrụ." Ka anyị lelee ọrụ ahụ site na iji iwu ifconfig dị ka ọmụmaatụ. Enwere ike izipu iwu a na ngwaọrụ:

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

ebe:
ozi = `ifconfig` - anyị na-ekenye nsonaazụ nke mmepụta iwu ifconfig na mgbanwe $message
wget"xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php - edemede anyị a.php nke na-edebanye aha ndị na-anya ụgbọ elu ma na-enweta ozi n'aka ha
u=onye ọrụ&p=password!&m=ozi - nzere na uru nke arịrịọ agbanwe m - na-ekenye ọdịnaya nke mgbanwe $ ozi
-O /tmp/out.txt - anyị achọghị mmepụta na faịlụ /tmp/out.txt na nke a, ma ọ bụrụ na akọwapụtaghị oke a, wget anaghị arụ ọrụ

Gịnị kpatara nke a anaghị arụ ọrụ?N'ihi na ọ bụ oghere nchekwa nwere ike. Njehie kachasị adịghị njọ nke nwere ike ime bụ ma ọ bụrụ na, dịka ọmụmaatụ, enwere àgwà "&" na mmepụta nke iwu gị. Ya mere, ọ dị mkpa iji nyochaa ma ihe ọ bụla ezitere na ndị na-anya ụgbọ mmiri na ihe ọ bụla na-abịa na ihe nkesa. Ee, ihere na-eme m, n'ezie. Na agbachitere m, enwere m ike dee na akụkọ ahụ dum etinyere na otu esi ejikwa ndị na-anya ụgbọ ala nwere ngwa ngwa akọwapụtara na ụzọ nkwukọrịta nke akọwapụtaghị n'ọdịnihu.

Ọ dị mma, mmalite maka ọdịnihu: Achọpụtabeghị m ka esi eji ngwaọrụ zabbix ọkọlọtọ gosipụta nsonaazụ (dịka ọmụmaatụ, nsonaazụ nke ime iwu) nke na-abịa na sava ahụ.

Ana m echetara gị na enwere ike nweta isi mmalite niile site na ebe nchekwa Git na: github.com/BazDen/iotnet.online.git

isi: www.habr.com

Tinye a comment