Tìm giao diện cho tuyến đến máy chủ cụ thể


14

Trên một máy Linux đa năng, làm thế nào tôi có thể tìm ra giao diện mạng nào sẽ được sử dụng để gửi một gói đến một máy chủ cụ thể? Tôi cần phải làm điều này theo chương trình và tôi không muốn phân tích và giải thích bảng định tuyến.


Đó là những gì bảng định tuyến dành cho. Tôi không tưởng tượng nó khác.
GioMac

Câu trả lời:




5

Vâng, như Michael Hampton gợi ý, sử dụng ip route. Nếu bạn chỉ muốn giao diện, hãy sử dụng cái này

ip -o route get $ip | perl -nle 'if ( /dev\s+(\S+)/ ) {print $1}'

Ví dụ:

# ip=8.8.8.8
# iface=$( ip -o route get $ip | perl -nle 'if ( /dev\s+(\S+)/ ) {print $1}' )
# echo $iface
eth1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.