A co tyhle dva:
04
Poté je můžete kombinovat a hashovat pomocí:
13
Chcete-li odstranit koncovou pomlčku, přidejte další čáru:
21
Jak zdůrazňuje @mikeserv ve své odpovědi, název rozhraní se může mezi booty změnit. To znamená, že to, co je dnes eth0, může být zítra eth1, takže pokud sáhnete po 09
na různých bootech můžete získat jinou MAC adresu. Můj systém se takto nechová, takže nemohu skutečně testovat, ale možná řešení jsou:
-
Grep pro
10
ve výstupu25
ale ponechte si všechny, nejen ten, který odpovídá konkrétnímu NIC. Například v mém systému mám:35
Získáním obou MAC adres a jejich předáním přes
33
, měli byste být schopni získat jedinečný a stabilní název, bez ohledu na to, jak se NIC nazývá:43
Všimněte si, že hash se liší od výše uvedených, protože předávám obě MAC adresy vrácené
42
až51
. -
Místo toho vytvořte hash na základě UUID vašeho pevného disku (disků):
51
Za prvé, mějte na paměti, že CPUID rozhodně není běžně přístupná jednoznačně identifikující značka pro jakýkoli systém pozdější než Intel Pentium III. I když jeho hašování s MAC adresami může vést k jedinečným markerům, je to způsobeno pouze jedinečnými vlastnostmi samotných MAC a CPUID v tomto případě není nic jiného než nepřímé. Navíc výsledný hash pravděpodobně nebude o nic jedinečnější než UUID základní desky, a to je mnohem snazší načíst a proces je mnohem méně náchylný k chybám. Z wikipedia.org/wiki/cpuid:
EAX=3 :Sériové číslo procesoru
Viz také:Pentium III § Kontroverze o otázkách soukromí
Tím se vrátí sériové číslo procesoru. Sériové číslo procesoru bylo zavedeno na Intel Pentium III, ale z důvodu ochrany osobních údajů již tato funkce není u novějších modelů implementována (bit funkce PSN je vždy vymazán). Procesory Efficeon a Crusoe společnosti Transmeta také poskytují tuto funkci. Procesory AMD však tuto funkci neimplementují v žádném modelu CPU.
Analyzovaný cpuid si můžete prohlédnout sami provedením 64
nebo dokonce jen 74
.
Tím získáte všechny MAC adresy pro síťová rozhraní rozpoznaná linuxovým jádrem, myslím:
64
Může být nutné tento seznam filtrovat, pokud může obsahovat virtuální nic s náhodně generovanými MAC. Můžete to udělat pomocí příznaků ve volání 88
přímo. Viz 92
informace o tom, jak to udělat.
Všimněte si také, že tento problém se netýká pouze 107
a musí být také řešen, pokud používáte 118
, ale že to lze spolehlivěji zvládnout pomocí 128
- který je součástí 130
síťová sada a je aktivně udržována – než je tomu u 140
- který je členem 153
balíček a naposledy se dočkalo vydání Linuxu v roce 2001. Kvůli změnám funkcí v jádře od posledního vydání 167
je známo, že chybně hlásí některé příznaky síťových funkcí, a pokud je to možné, je třeba se jeho použití vyvarovat.
Pochopte však, že filtrování s názvy rozhraní jádra jako 178
není spolehlivým prostředkem, jak toho dosáhnout, protože se mohou měnit na základě pořadí paralelní detekce pomocí 189
během procesu spouštění. Další informace naleznete v části Předvídatelné názvy sítí.
Protože 191
není nainstalován v mém systému Nejprve jsem si myslel, že zahašuji seznam seriálů na pevném disku generovaný jako:
76
Proveďte 200
pro nějaké vodítko k upřesnění tohoto seznamu - řekněme podle typu disku. Zvažte také 216
a/nebo 229
možná.
Jejich spojení je snadné:
82
Jak jste mě informovali, zadáváte uživatelské zdroje na vaší straně k jejich jedinečným identifikátorům a na existenci pevných disků se nelze spolehnout. Myslel jsem, že změním své nastavení.
Vzhledem k tomu jsem se znovu podíval do souborového systému a našel 233
složku. Zkontroloval jsem několik souborů:
92
Tento se však zdá být docela dobrý, ale výstup nezveřejním:
100
Očekávám, že tam je 247
stejně získá mnoho informací a ve skutečnosti to tak vypadá. Podle 250
můžete také výrazně zjednodušit používání tohoto nástroje zadáním argumentu:
117
Ještě jednodušší je však soubor číst. Všimněte si, že tento konkrétní soubor konkrétně identifikuje základní desku. Zde je výňatek z opravy jádra z roku 2007, která původně implementovala tyto exporty do 269
virtuální souborový systém:
123
Tato data možná budete moci použít samostatně k identifikaci systému – pokud vám stačí základní deska. Ale můžete tyto informace zkombinovat s MAC systému stejným způsobem, jakým jsem ukázal, že byste to mohli udělat s pevnými disky:
137
Linuxové jádro vám také může vygenerovat UUID:
149
Nebo:
152
Je pravda, že se generuje náhodně a budete muset přehodnotit přiřazení ID, ale je to asi tak snadné, jak je získat alespoň. A měl by být docela solidní, pokud najdete způsob, jak to klíčovat.
A konečně, na systémech UEFI je to mnohem jednodušší – protože každá proměnná prostředí firmwaru EFI obsahuje vlastní UUID. Proměnná prostředí 277
by měl být přítomen na každém systému UEFI, měl by přetrvávat restarty a dokonce většina upgrady a úpravy firmwaru a jakýkoli systém Linux s kódem 283
načtený modul může vypsat jeden nebo oba názvy jednoduše jako:
168
Starší forma - 295
je nyní zřejmě zastaralý a na novějších systémech by měl být 305
ale podle specifikace by jeden nebo druhý měl být přítomen v každém systému UEFI. S trochou úsilí můžete definovat své vlastní trvalé proměnné pro restart a možná tímto způsobem více využívat generátor UUID jádra. Máte-li zájem, podívejte se na efitools.
Mnoho moderních distribucí dodává soubor 315
obsahující s největší pravděpodobností jedinečný hexadecimální řetězec 32 znaků. Pochází ze systemd, kde manuálová stránka obsahuje více informací a může být vhodná pro váš účel.