Pagina 1 di 1
[RISOLTO] Corrispondenza indirizzo MAC con Iface
Pubblicato: 22 giugno 2022 - 11:37
di gavit
Buongiorno,
In un progetto 802.1.X, avrei bisogno di recuperare tutti gli indirizzi MAC della mia rete di computer.
Più specificamente, l'indirizzo MAC della scheda Ethernet e della scheda WIFI.
Il problema è che i PC hanno fino a 38 indirizzi MAC.
Dovrei elencarli tutti e metterli accanto al nome della loro carta (enps, eth, ecc...)
Ma non possiamo fare:
Come posso procedere?
Considerando che il mio codice attuale si presenta così:
Codice: Seleziona tutto
select
distinct
host_info->'networking'->0->'mac' as mac,
host_info->'networking'->0->'iface' as iface,
computer_name
FROM hosts
Sinceramente,
VITTAZ Gaëtan
Re: Abbina l'indirizzo MAC con Iface
Pubblicato: 22 giugno 2022 - 17:38
di htouvet
Buongiorno,
Per effettuare query "avanzate" su JSON, come avviene con XPath per XML, è necessario aggiungere il modulo "jsquery" a PostgreSQL.
Su Debian, per installarlo: (se è installato postgresql 13)
Codice: Seleziona tutto
apt install postgresql-13-jsquery
sudo -u postgres psql wapt -c "CREATE EXTENSION jsquery;"
Quindi la query SQL:
Qualcosa del genere:
Codice: Seleziona tutto
SELECT
computer_fqdn,
t.*
FROM
hosts,
jsonb_to_recordset(host_info->'networking') as t
(mac text, iface text);
Re: Abbina l'indirizzo MAC con Iface
Pubblicato: 23 giugno 2022 - 13:16
di gavit
Buongiorno,
Grazie mille per la rapida risposta, la query SQL funziona perfettamente!
Per i computer MAC e Linux non ci sono problemi di montaggio.
Ma per i PC Windows, ho il seguente feedback:
- [ {6858AE84-3B6D-4D45-8D00-B9AFAA8D578E} (esempio)/elenco]
Ho provato ad adattare la query per la tabella WMI, quindi per i client Windows
Codice: Seleziona tutto
SELECT
computer_fqdn,
t.*
FROM
hosts,
jsonb_to_recordset(wmi->'Win32_NetworkAdapter') as t
(MACAddress text, ProductName text);
Questa operazione non recupera le informazioni; i campi MACAddress e ProductName rimangono vuoti.
Avete una soluzione per reinstallare i PC Windows?
Oppure una soluzione che recuperi i dati corretti in un'unica richiesta, senza dover effettuare una richiesta per Windows e un'altra per Linux/MAC.
Sinceramente,
VITTAZ Gaëtan
Re: Abbina l'indirizzo MAC con Iface
Pubblicato: 29 giugno 2022 - 22:28
di sfontenau
Non lontano!
Codice: Seleziona tutto
SELECT
computer_fqdn,
t.*
FROM
hosts,
jsonb_to_recordset(wmi->'Win32_NetworkAdapter') as t
("MACAddress" text, "ProductName" text);
Quindi, per esempio:
Codice: Seleziona tutto
SELECT
computer_fqdn,
t.*
FROM
hosts,
jsonb_to_recordset(wmi->'Win32_NetworkAdapter') as t("MACAddress" text, "ProductName" text)
WHERE t."ProductName" !~* 'vpn'
AND t."ProductName" !~* 'bluetooth'
AND t."ProductName" !~* 'Virtual Adapter'
AND t."ProductName" !~* 'WAN Miniport'
AND t."ProductName" !~* 'TAP-Windows Adapter V9'
AND t."ProductName" !~* 'VirtualBox Host-Only Ethernet Adapter'
AND t."ProductName" !~* 'XenServer PV Network Device'
AND t."ProductName" !~* 'RAS Async Adapter'
AND (t."MACAddress" <> '') ;