Il ip netns
crea il riferimento allo spazio dei nomi di rete (denominato) in /var/run/ns
, che potrebbe essere facilmente rintracciato. Inoltre, lo stesso potrebbe essere determinato tramite /proc/[pid]/ns/net
. Tuttavia, è possibile che alcuni programmi personalizzati creino un net ns e salvino l'inode corrispondente in qualche altro luogo non convenzionale. Questo può rendere difficile determinare se ci siano o meno reti che potremmo elencare.Spazi dei nomi Linux: è possibile che uno spazio dei nomi di rete esista senza essere associato a un processo?
In secondo luogo, unshare <cmd>
distrugge la rete ns quando il processo si interrompe, il che va bene. Tuttavia, ip netns exec <netns> <cmd>
manterrà il ns anche dopo l'uscita del comando/processo. Quindi, credo, potrebbe essere possibile per qualsiasi programma personalizzato fare lo stesso.
Quindi, la domanda è: E 'possibile che un programma personalizzato crea un anonimo ns netti, e si lascia non associati con qualsiasi processo?
Inoltre, è possibile elencare tali net (nascosti) dallo spazio utente, dato che non conosciamo i percorsi degli inode? (Il kernel ha ovviamente un elenco collegato di net ns) Un frammento di codice sarà utile.
Apprezzerebbero più risposte. Chiunque? Grazie! – user31986