linux - 通过网络接口(interface)发送数据包(icmp 或其他),绕过路由表

标签 linux bash ping network-interface

我想通过特定的网络接口(interface)发送数据包(icmp 或其他),绕过路由表。

上下文:我通过多个接口(interface)连接到各种端点。如果我向他们添加路由,他们中的一些人能够将我的流量路由到互联网。 我不想触及路由表(因为它是一个全局系统功能,并且出于速度原因我正在并行测试设备)。

最初,我认为一个简单的 ping -I DEVICE -r ANY_IP_ONINTERNET 就可以解决问题。但它没有:数据包没有像我预期的那样发送到所选设备并且命令失败......另一端的 tcpdump 没有捕获任何数据包:数据包不尽管我有明确的命令,但似乎甚至首先被发送到界面

当我在 ping 之前添加路由时,一切都按预期进行。但我想避免这种情况...然后,不再需要 -I DEVICE -r

  • 有人可以向我解释为什么它不起作用吗?,以及
  • 在什么情况下使用 -I DEVICE-r 确实有效且有用?

注意:我正在使用带有 tapXtunX 设备的不同 VPN 对此进行测试。

编辑: 我尝试结合使用/不使用 -r 并使用 -I DEVICE-I IP_ADDR_DEVICE .没有更多的成功。

最佳答案

我建议将选项 -I 与您设备的 IP 地址一起使用。

关于linux - 通过网络接口(interface)发送数据包(icmp 或其他),绕过路由表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35618245/

相关文章:

linux - 如何从 bash shell 脚本子例程返回数据?

bash - 与托管以太坊节点的操作系统交互

bash - 从最长到最短的排序线

c - if条件后跟while(0)有什么用?

linux - 在循环命令期间下划线 _ 出现在 $i 之后时出错

regex - sed 在同一行匹配模式后插入一个字符串

linux - 如何在Linux中将文件存储在连续的磁盘 block 中

java - 有效地存储和查询字符串列表

javascript - 如何在 javascript 中实现对 webSocket 连接的 Ping/Pong 请求?

java - 从 PING 扫描中检索 MAC 地址