I'm trying to get the default gateway, using the destination 0.0.0.0
I used this command: netstat -rn | grep 0.0.0.0
And it returned this list:
**Destination Gateway Genmask Flags MSS Window irtt Iface<br>
10.9.9.17 0.0.0.0 255.255.255.255 UH 0 0 0 tun0<br>
133.88.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0<br>
0.0.0.0 133.88.31.70 0.0.0.0 UG 0 0 0 eth0**<br>
My goal here is to ping the default gateway using destination 0.0.0.0
;
thus, that is 133.88.31.70
; but this one returns a list because of using grep
.
How do i get the default gateway only? I will need it for my bash script to identify if net connection is up or not.
For a list of all default gateways, use mezgani's answer, duplicated (and slightly simplified) here:
If you have multiple network interfaces configured simultaneously, this will print multiple gateways. If you want to select a single known network interface by name (e.g.
eth1
), simply search for that in addition to filtering for the^default
lines:You can make a script that takes a single network-interface name as an argument and prints the associated gateway:
As noted in the comments, this has the advantage of setting a sensible exit-code, which may be useful in a broader programmatic context.
You can get the default gateway using
ip
command like this: