我正在编写一个脚本,用于获取外部IP地址以及有关每个iface的其他信息。我无法弄清楚如何让ruby通过特定的iface(例如eth0和wlan0)发送流量。我目前正在使用open-uri库打开http://whatismyip.org并将其读入变量。
def get_external_ip
begin
open("http://whatismyip.org") { |f| return f.read }
rescue
return "none"
end
end
有没有办法在脚本的运行时或脚本本身(理想情况下)中指定它?
答案 0 :(得分:0)
您可以查看此tutorial on Ruby Socket programming。但我怀疑它可以在像open
这样的高级别上完成。通常从路由表中选择接口,具体取决于目标IP - 因此可能更容易修改/调整路由表。