Linux系统中traceroute命令使用详解

Linux系统中traceroute命令使用详解,第1张

Linux系统中traceroute命令可以追踪到网络数据包的路由途径。下面由我为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助!

Linux系统中traceroute命令使用详解

1命令格式:

traceroute[参数] [主机]

2命令功能:

traceroute 指令让你追踪网络数据包的路由途径,预设数据包大小是40 Bytes, 用户可另行设置。

具体参数格式:traceroute [-dFlnrvx] [-f<存活数值>] [-g<网关>][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]

3命令参数

-d使用socket 层级的排错功能

-f设置第一个检测数据包的存活数值TTL的大小

-F设置勿离段位 ----我也不知道啥是勿离段位,查了下没查到什么信息^^

-g设置来源路由网关,最多可设置8个

-i使用指定的网络界面送出数据包

-I使用ICMP回应取代UDP资料信息

-m设置检测数据包的最大存活数值TTL 的大小

-n直接使用IP地址而非主机名称

-p设置UDP传输协议的通信端口

-r忽略普通的routing table ,直接将数据包送到远端主机上

-s设置本地主机送出数据包的IP地址

-t设置检测数据包的TOS数值

-v详细显示指令的执行过程

-w设置等待远端主机回报的时间

-x开启或关闭数据包的正确性检验

linux系统中traceroute命令实例

实例1:traceroute 用法简单,最常用的用法

命令:traceroute>

获取MAC和netlink没有关系

一开始arp表是空的 假如一台linux主机(假设为19216803)要ping一个外网的ip, 通过路由表可知这个数据包要到达的下一跳网关ip, 假设为19216801 那么, 这台linux主机就广播一个arp请求:"who has 19216801 tell 19216803" 网关接收到这个arp请求后, 回应一个arp包给这台Linux主机:"19216801 is at xxxxxxxx(MAC)", 这样, 这台Linux主机就获得了下一跳的网关了, 它会把这个arp信息缓存到arp表 它不需要知道外网ip对应的MAC, 只把这个ping的ICMP数据包发给网关 同样, 这个网关也根据路由表查找下一跳的MAC

重启网络可以有三种方式:

1、service network restart

2、rcnetwork restart

3、/etc/rcd/network restart

命令 # /sbin/ip -6 route show [dev <device>]

# /sbin/ip -6 route show dev eth0

3ffe:ffff:0:f101::/64 proto kernel metric 256 mtu 1500 advmss 1440

fe80::/10 proto kernel metric 256 mtu 1500 advmss 1440

ff00::/8 proto kernel metric 256 mtu 1500 advmss 1440

default proto kernel metric 256 mtu 1500 advmss 1440

我没在虚拟机上配置过 ,所以不清楚

我想你首先应该判断是否是你虚拟机的问题 ,其次 ,vmware还是别的什么的虚拟网卡是否支持ipv6

希望对你有所帮助

设置网关命令如下所示:

route add -net 224000 netmask 240000 dev eth0 #增加一条到达244000的路由。

route命令属于网络配置命令,以下为详细说明:

route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。 在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rclocal中添加route命令来保证该路由设置永久有效。

语法

route(选项)(参数)

选项

-A:设置地址类型;

-C:打印将Linux核心的路由缓存;

-v:详细信息模式;

-n:不执行DNS反向查找,直接显示数字形式的IP地址;

-e:netstat格式显示路由表;

-net:到一个网络的路由表;

-host:到一个主机的路由表。

参数

Add:增加指定的路由记录;

Del:删除指定的路由记录;

Target:目的网络或目的主机;

gw:设置默认网关;

mss:设置TCP的最大区块长度(MSS),单位MB;

window:指定通过路由表的TCP连接的TCP窗口大小;

dev:路由记录所表示的网络接口。

这个好说

先直接在终端下运行命令 ifconfig "WIFIDEVICENAME" |grep 'inet addr'

(例如:ifconfig eth0 | grep 'inet addr')

把结果反馈一下,截图最方便,万一发不出来,敲出来也行,别忘了空格

(例如我上个命令的结果是:

inet addr:192168199132 Bcast:192168199255 Maslk:2552552550)

另外说一下,非root用户默认是没有ifconfig权限的

等你的追问

以上就是关于Linux系统中traceroute命令使用详解全部的内容,包括:Linux系统中traceroute命令使用详解、linux怎么把网关改成yes、Linux下如何根据目的IP来获取下一跳网关的MAC,netlink可以实现么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9567151.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存