如何ping和使用特定的网卡


11

我有3个网卡,1个Lan(有线),1个无线网卡和1个是无线USB

如何从特定的网卡ping?

以及如何将特定的网卡用于特定的应用

i want to ping google from wlan1

具体应用示例

i want to use firefox or transmission from wan1

Lan ip 192.168.0.2>可以正常使用 在此处输入图片说明 -I wlan1 google.com 在此处输入图片说明

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
172.16.221.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet8
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan1
192.168.48.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet1

one @ onezero:〜$ ip路由

default via 192.168.0.1 dev eth0  proto static 
169.254.0.0/16 dev eth0  scope link  metric 1000 
172.16.221.0/24 dev vmnet8  proto kernel  scope link  src 172.16.221.1 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.2  metric 1 
192.168.0.0/24 dev wlan1  proto kernel  scope link  src 192.168.0.3  metric 2 
192.168.48.0/24 dev vmnet1  proto kernel  scope link  src 192.168.48.1 

@哈立德

one@onezero:~$ ping -S 192.168.0.2  hotmail.com
PING hotmail.com (65.55.72.135) 56(84) bytes of data.
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=1 ttl=236 time=391 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=2 ttl=236 time=296 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=3 ttl=236 time=393 ms
64 bytes from origin.sn131w.snt131.mail.live.com (65.55.72.135): icmp_req=4 ttl=236 time=352 ms

 ping -S 192.168.0.3  hotmail.com
PING hotmail.com (65.55.72.183) 56(84) bytes of data.
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=1 ttl=236 time=312 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=2 ttl=236 time=457 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=3 ttl=236 time=298 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=5 ttl=236 time=330 ms
64 bytes from origin.sn134w.snt134.mail.live.com (65.55.72.183): icmp_req=6 ttl=236 time=300 ms

现在最后是应用程序问题


1
您只想设置源地址,还是期望以某种方式选择其他网络路径?设置源地址不会自动改变选择的路由,并使任何特定接口退出。
Zoredache

Answers:


9

如果您查看ping手册man ping,则可以阅读:

-I interface address
   Set source address to specified interface address. Argument may be numeric IP
   address or name of device.

1
检查第二张图片> ping -I wlan1 google.com
一零

也许,您的连接被ping屏蔽了。
哈立德

它在eth0上的工作– 2012
1

5

查看您的路由表。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan1

您的wlan1接口仅知道如何访问192.168.0.0网络。您的wlan1和eth0也位于同一子网中,这可能会引起问题。您需要将要添加到wlan界面上任何目的地的路由添加到路由表中。例如

route add -host 65.55.72.135 gw 192.168.0.1 dev wlan1
ping -I wlan1 65.55.72.135

请注意,这将不允许您按应用程序进行路由。为此,您需要使用iptables -m owner --uid-owner 以下ping -S src_ip dest_ip命令配置策略路由。该命令实际上将使用wlan1 IP地址的源发送数据包,但随后将数据包从eth0路由出去,因为下一跳是路由表中的eth0。最好的选择是将wlan1和eth0接口放在单独的子网中。


4

BSD的ping(8)而言,您可以使用-Sping开关来模拟来自特定接口的ping:

-S src_addr
             Use the following IP address as the source address in outgoing packets.  On hosts
             with more than one IP address, this option can be used to force the source address to
             be something other than the IP address of the interface the probe packet is sent on.
             If the IP address is not one of this machine's interface addresses, an error is
             returned and nothing is sent.

如果我们为不同的接口指定不同的网关,或者根据端口或其他标准通过防火墙规则重定向流量,则在某种程度上可以实现网络接口(IP地址)的应用程序级别感知。如果您仅使用firefox连接到80个端口,则可以在iptables中指定SNAT规则,以通过您指定的IP地址进行连接,从而获得所需的接口


我不明白,命令?ping -S吗?
一零零

使用您可用的其他IP地址ping -S your.first.ip.addr hotmail.com和ping -S your.another.ip.addr hotmail.com pings hotmail.com。如果未指定,默认协议将通过默认网关进行ping探测

1
您要使用什么版本的ping?在我的Ubuntu系统上,-S配置套接字发送缓冲区。
Zoredache

ping -V> ping实用程序,iputils-sss20101006
一零
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.