热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

在Ubuntu中如何查看网络路由表详解

这篇文章主要给大家介绍了关于在Ubuntu中如何查看网络路由表的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ubuntu具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

什么是Linux中的路由和路由表?

路由的过程意味着IP包在网络上从一点传输到另一点。当你向某人发送电子邮件时,你实际上是在将一系列IP数据包或数据报从你的系统传输到另一个人的计算机上。从计算机发送的数据包通过几个网关或路由器到达目标计算机系统。同样的方法适用于所有internet协议,如HTTP、IRC和FTP等。

在所有Linux和UNIX系统中,有关如何转发IP数据包的信息都存储在内核结构中。这些结构称为路由表。当您希望系统与其他计算机通信时,可能需要配置这些路由表。首先,了解如何在Linux系统上查看这些路由表非常重要。

在本文中,我们将通过以下三个常用的命令来解释如何在Ubuntu中查看路由表:

  • netstat命令
  • route命令
  • ip route命令

我们在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。

我们使用Ubuntu命令行终端,以便运行上述命令。您可以通过系统Dash或Ctrl + Alt + T快捷方式打开终端。

如何查看路由表?

方法1:通过netstat命令

netstat命令一直是Linux中打印路由表信息一种广泛使用的方法。然而,它被ip route命令正式取代。无论如何,我们都需要它,因为它仍然是检索所需信息的一种方法。

以下是使用此命令的方法:

$ netstat -rn


-r此标志用于显示内核路由表


-n此标志用于显示数字地址


这是输出的结果:

Destination 此列指示目标网络。
Gateway 此列指示网络的已定义网关。 如果在此列中看到*,则表示指定的网络不需要转发网关。
Genmask 此列指示网络的网络掩码。
Flags 此列中的U输出表示路线已启动。 G输出表示应该为此路由使用指定的网关。 D代表动态安装,M代表修改,R代表恢复。
MSS 此列指示此路由的TCP连接的默认最大段大小(MSS)。
Window 此列指示此路由上TCP连接的默认窗口大小。
Irtt 此列指示此路线的初始往返时间。
Iface Iface列显示网络接口。 如果您有多个接口,您会看到lo(用于环回),eth0(第一个以太网设备)和eth1(用于第二个以太网设备),依此类推您已安装的接口数量。

方法2:通过route命令

route命令也属于曾经广泛使用但现在过时的命令来查看路由表。 此命令的手册页还提到该命令现在已被ip route命令替换。

通过此命令,您可以通过netstat命令查看完全相同的信息。 以下是如何使用它:

$ route -n


内核 IP 路由表

目标            网关            子网掩码        标志  跃点  引用  使用 接口

0.0.0.0        192.168.182.2  0.0.0.0        UG    20100  0        0 ens33

169.254.0.0    0.0.0.0        255.255.0.0    U    1000  0        0 ens33

172.17.0.0      0.0.0.0        255.255.0.0    U    0      0        0 docker0

192.168.182.0  0.0.0.0        255.255.255.0  U    100    0        0 ens33

-n此标志仅用于显示数字地址

方法3:通过ip route命令

最后但同样重要的是,这是在Linux中打印路由表信息的最佳方法。 以下是使用此命令的方法:

$ ip route


虽然这些信息不像前面提到的命令那样对读者友好,但是它仍然足够您配置路由器。

这是几个在Ubuntu中查看路由表信息的命令。虽然ip route命令在外观上不是很整洁,但它仍然是查找相关路由表信息的推荐方法。虽然其他命令被认为是过时的,但它们有时确实有助于导出需要提取的内容。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。


推荐阅读
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • PHP 时间与日期工具类:星座、干支、生肖的实现
    本文介绍了一个PHP时间与日期工具类,涵盖了时区设置、有效日期和时间检查、星座、干支、生肖计算等功能。该工具类特别适用于需要处理中国农历及西方星座的应用场景。 ... [详细]
  • 在Ubuntu 8.04中安装美观的Cairo-Dock桌面增强工具
    本文介绍如何在Ubuntu 8.04系统中安装和配置Cairo-Dock,这款桌面增强工具以其精美的界面和高效的功能备受用户青睐。文章将指导您通过简单的步骤完成安装,并提供一些实用的配置建议。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在PHP中进行数组删除、清空等操作,并提供了在Visual Studio Code中创建PHP文件的步骤。 ... [详细]
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 本文详细介绍了如何在Ubuntu的Enlightenment (E17) 桌面环境中管理和优化桌面图标及根菜单。通过本文,您将了解这些功能的作用及其配置方法。 ... [详细]
author-avatar
W14154988
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有