linux环境中,如何知道访问某个IP地址,数据包是从哪个网卡出去的?

发布时间 2023-08-02 10:55:40作者: 安大

使用如下的命令,确定访问某个IP的时候,数据包是从哪个网卡出去的

ip route get <destination_ip>

 

destination_ip:表示的是,要访问的IP地址。

 

示例:

[root@centos7 ~]# ip route get 110.242.68.3
110.242.68.3 via 10.0.2.2 dev enp0s3 src 10.0.2.15 
    cache 
[root@centos7 ~]# 
[root@centos7 ~]# ip addr show enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:c9:da:5a brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3
       valid_lft 69632sec preferred_lft 69632sec
    inet6 fe80::4389:6504:8a2d:99d7/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@centos7 ~]# 

 

 

查询结果说明:

110.242.68.3 via 10.0.2.2 dev enp0s3 src 10.0.2.15

  • 表示访问110.242.68.3
  • via:下一跳是:10.0.2.2
  • 数据是从网卡:ev enp0s3 出去的
  • 网卡的IP地址是:10.0.2.15

 

这样就知道了,访问某个IP地址,走的路由是什么。

 

也符合本机的路由的规则