host 和 tcptraceroute 和 traceroute

目录

host

 tcptraceroute

 traceroute


host

简单的一次使用

 可以看到www.baidu.com的ipv4地址。

-a 参数

显示所有的查询信息 类似于 -v 参数

host指令查询域名信息的DNS服务器是文件/etc/resolv.conf 指定的DNS服务器。可以在后面指定其他的DNS服务器地址。

 

 tcptraceroute

 

 -i 指定一个接口 

-m  指定一个最大的ttl值(我这里指定的是3)

 traceroute

-4         使用ipv4

-6         使用ipv6

--icmp   使用icmp ECHO进行跟踪

--tcp        tcp使用tcp SYN进行跟踪(默认端口为80)

-i         网卡设备

-m          最大的ttl值

-n         不将ip地址解析成域名(加上此参数探测速度变快)

-p        指定端口

 

### Ping Traceroute 使用的端口号及相关网络诊断信息 #### 一、Ping 的工作原理及使用的端口号 `Ping` 是一种用于测试两台计算机之间连通性的工具,它利用 ICMP 协议来实现。具体来说,`Ping` 向目标主机发送 `ICMP Echo Request` 报文,并等待接收来自目标主机的 `ICMP Echo Reply` 报文。 - **端口号**: `Ping` 并不直接使用传输层的端口号(即 TCP 或 UDP 端口)。它的操作是在 IP 层之上通过 ICMP 实现的,因此不需要指定具体的端口号[^3]。 以下是 `Ping` 工作流程的关键步骤: 1. 源主机构建一个带有特定序列号时间戳的 `ICMP Echo Request` 报文。 2. 将该报文封装在一个 IP 数据包中,设置源 IP 地址为目标主机的地址。 3. 如果目标主机可达,则会回复一个 `ICMP Echo Reply` 报文给源主机。 4. 源主机接收到回应后计算往返时间(Round-Trip Time, RTT)。 --- #### 二、Traceroute 的工作原理及使用的端口号 `Traceroute` 是用来检测从源主机到目标主机之间的路径上每一跳路由器的信息的一种工具。其核心机制依赖于 IP 头中的 TTL 字段以及 ICMP 错误消息。 - **端口号**: - 在基于 UDP 的实现方式下,`Traceroute` 默认会选择一个非常高的 UDP 端口号(通常大于 30000),这些高编号端口一般不会被任何应用占用[^1][^4]。 - 当最终抵达目标主机时,由于不存在监听对应的大数值端口的服务进程,目标主机会返回一条 `ICMP Port Unreachable` 消息通知源主机已成功找到终点设备。 下面是详细的运行过程描述: 1. 初始化阶段设定初始 TTL 值为 1 ,随后创建携带此参数的一个小型 UDP 数据分组; 2. 此数据单元沿着常规路由规则传播至首个中间节点,在那里因 TTL 减少至零触发丢弃动作并伴随生成相应的 “Time Exceeded” 类型 ICMP 反馈信号回传给发起者; 3. 接下来逐步增加每次尝试所附带的 TTL 数值直至达到预期终点位置或者超出最大允许跳跃次数限制为止; 4. 对沿途各环节反馈回来的结果加以整理呈现形成完整的链路轨迹展示图谱。 ```python import os def trace_route(host): max_hops = 30 for ttl in range(1, max_hops + 1): response = os.system(f"traceroute -m {ttl} {host}") if response == 0 or ttl >= max_hops: break ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值