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
@Khaled
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
이제 마지막으로 응용 프로그램 문제
답변
ping manual을 보면 다음을 man ping
읽을 수 있습니다.
-I interface address
Set source address to specified interface address. Argument may be numeric IP
address or name of device.
답변
라우팅 테이블을 확인하십시오.
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 인터페이스를 별도의 서브넷에 배치하는 것입니다.
답변
멀리로 핑 (8) BSD부터 간다, 당신은 사용할 수있는 -S
특정 인터페이스에서 핑 시뮬레이션 핑의 스위치를 :
-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 주소를 통해 연결하므로 원하는 인터페이스