Voglio scoprire la rete predefinita in uso, il mio metodo attuale era quello di scoprire tutti gli indirizzi IP e confrontarlo con l’indirizzo IP del gateway predefinito, ma questo suona stupido, questo è il modo corretto di farlo?
AGGIORNARE
Voglio usare un programma C, non dai comandi …
Puoi provare un approccio leggermente più sporco ma infinitamente più semplice:
[email protected]:~$ ip route show to 0.0.0.0/0 default via XYZT dev eth0 proto static ^^^^
Quindi puoi provare:
FILE *cmd = popen("ip route show", "r"); fgets(str, LEN, cmd);
Quindi puoi usare strtok
, strstr
ecc.