2014-06-27 9 views

回答

2

您可以使用ip命令:

# ip route get to 74.125.228.197 
74.125.228.197 via 192.168.1.1 dev eth0 src 192.168.1.100 

而且一旦你知道接口,你可以得到它的索引和鏈接/醚(MAC)地址:

# ip addr show eth0 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 100 
link/ether 88:00:00:00:f2:4c brd ff:ff:ff:ff:ff:ff 
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0 
inet6 fe80::3039:34ff:fe2c:f24c/64 scope link 
    valid_lft forever preferred_lft forever 
+0

是否可以用簡單的做'ioctl'像SIOCADDRT(不調用外部二進制或使用'AF_NETLINK')? –

+0

我從來沒有打擾過,但你可以通過查看它的[源代碼](http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree /ip/iproute.c) – Joe

+0

我用'strace'看到它正在做一些AF_NETLINK魔術。 –

相關問題