( XMI | 2025. 02. 02., v – 01:42 )

Szerkesztve: 2025. 02. 02., v – 01:49

Eddig nem jutott eszembe komolyabban utánanézni, de most megtettem:

Van tool linuxra, amivel bele lehet nézni a powerline adapterek belső lelkivilágába: https://github.com/qca/open-plc-utils  (Hülye nevet adtak neki, ez a PLC nem az a PLC... de mindegy)

Sajnos ez a tool vendorspecifikus, Qualcomm-Atheros chipsethez való, más vendorhoz valót hirtelenjében nem találtam.

Hogy lehet kideríteni, milyenünk van? Wifi eszközöknél leginkább ez szokott segíteni: https://wikidevi.wi-cat.ru/List_of_PowerLine_Devices de úgy látom ez is nagyon hiányos, pl az én TL-PA4010P adapterem nincs benne. Van gyártóspecifikus oldal is: https://wikidevi.wi-cat.ru/TP-LINK_Powerline_series annyit látni rajta, hogy ilyen típus "van", de semmit nem tudni róla, nincs saját oldala.

Próba-cseresznye alapon:

# plcstat -t -i eno1

 P/L NET TEI ------ MAC ------ ------ BDA ------  TX  RX CHIPSET FIRMWARE
 LOC CCO 001 NE:MM:0N:D0:MM:E6 HA:10:KA:R1:AC:1M n/a n/a QCA7420 MAC-QCA7420-1.1.0.844-01-20120919-FINAL
 REM STA 002 AM:A5:1K:A1:5E:M0 1A:V0:11:KA:R1:YA 022 045 QCA7420 MAC-QCA7420-1.1.0.844-01-20120919-FINAL

Ez úgy működik, hogy layer2-ben ethernet frame-ekkel kell vele beszélgetni, ezért a -i paraméterrel meg kell adni a gépben hálózati interfész nevét (ha magától nem találja ki). Switchen átmehet a forgalom, de IP routeren nyilván nem.

Mindenesetre van nálam hanyas.

A -t azt mondja, hogy topológiát derítse fel, a LOC a hozzám közelebb eső eszköz (amivel etherneten össze van kötve a gép, ahonnan lekérdezem), a REM a távoli, ami a powerline link túlvégén van. A MAC a powerline adapterek MAC címe, a BDA a helyi gép MAC-je, illetve a túloldani wifi router portja, ami közvetlenül a távolabbi powerline adapterre van kötve.

Van még egy csomó plc* parancs. Mindig a MAC cím, mint paraméter fogja azonosítani a megszólított powerline eszközt.

Nagyjából három viszonylag érdekes van, ebből kiderül a link állapota (elég siralmas a 22mbit/s fel, 45mbit/s le...)

# plctool -m -i eno1 NE:MM:0N:D0:MM:E6 

eno1 NE:MM:0N:D0:MM:E6 Fetch Network Information
eno1 NE:MM:0N:D0:MM:E6 Found 1 Network(s)

source address = NE:MM:0N:D0:MM:E6

	network->NID = E2:15:EM:M0:ND:0M:E1
	network->SNID = 4
	network->TEI = 1
	network->ROLE = 0x02 (CCO)
	network->CCO_DA = NE:MM:0N:D0:MM:E6
	network->CCO_TEI = 1
	network->STATIONS = 1

		station->MAC = AM:A5:1K:A1:SE:M0
		station->TEI = 2
		station->BDA = NE:MM:0N:D0:MM:E6
		station->AvgPHYDR_TX = 022 mbps Primary
		station->AvgPHYDR_RX = 045 mbps Primary

Van még egy olyan, hogy plctone, ami megmutatja melyik frekvenciasávon tud forgalmazni, ehhez két powerline eszköz MAC címe kell, ami közötti linkről akarunk kérdezni:

# plctone -h -i eno1 'N3:MM:0N:D0:MM:E6' 'AM:A5:1K:A1:5E:M0'

Ennek nem paste-elem be a kimenetét, ad vagy 2800 sort, #-okkal rajzolva hisztogrammot a sávokból, ahol képes volt valami jelet átvinni. Nálam a sávok úgy 90%-án zérónulla van.

Illetve le lehet még kérdezni a titkosítási paramétereket (DAK, NMK, NID):

# plctool -I -i eno1 N3:MM:0N:D0:MM:E6

Ezek értelmezéséhez el kell olvasni az általam fentebb linkelt cikket: https://www.cise.ufl.edu/~nemo/papers/ISPLC2007_AV_Security.pdf

Ami viszont általánosságban elég rémisztő, az a plctool helpjéből néhány paraméter:

-B n	perform pushbutton action (n) using MS_PB_ENC [1|2|3|'join'|'leave'|'status']
...
-F[F]	flash [force] parameters and/or firmware using VS_MODULE_OPERATION
...
-J x	set NMK on remote device (x) via local device using VS_SET_KEY (see -K)
...
-K x	Network Membership Key (NMK) is (x) [50D3E4933F855B7040784DF815AA8DB7]
...
-M	set NMK on local device using VS_SET_KEY (see -K)
-N f	write firmware file (f) to flash memory using VS_MODULE_OPERATION
-P f	write parameter file (f) to flash memory using VS_MODULE_OPERATION
...
-T	restore factory defaults using VS_FAC_DEFAULTS

márminthogy mindezt gyakorlatilag nulla autentikációval bárki megcsinálhatja, aki képes L2 szinten hozzáférni az ethernet hálózathoz... Még csak az sincs, hogy valami számot be kéne adni, ami az eszközre fizikailag rá van írva...