35.伪造请求超时的ICMP数据包
在网络传输 IP 数据报的过程中,如果 IP 数据包的 TTL 值逐渐递减为 0 时,需要丢弃数据报。这时,路由器需要向源发送方发送 ICMP 超时报文,表示传输过程中超时了。
在超时 ICMP 数据包报文中,类型值为 11,代码值为 0。
用户可以通过 netwox 工具中编号为 83 的模块伪造请求超时 ICMP 数据包。
【实例】已知主机 A 的 IP 地址为 192.168.59.134,主机 B 的 IP 地址为 192.168.59.135,在主机 C 上伪造请求超时 ICMP 数据包。
1) 在主机 A 上 ping 主机 B,执行命令如下:
root@daxueba:~# ping 192.168.59.135
输出信息如下:
PING 192.168.59.135 (192.168.59.135) 56(84) bytes of data.
64 bytes from 192.168.59.135: icmp_seq=1 ttl=64 time=0.447 ms
64 bytes from 192.168.59.135: icmp_seq=2 ttl=64 time=0.468 ms
64 bytes from 192.168.59.135: icmp_seq=3 ttl=64 time=0.773 ms
64 bytes from 192.168.59.135: icmp_seq=4 ttl=64 time=0.307 ms
上述输出信息表示主机 B 是可达的,并且给出了传输的时间。例如,time=0.447ms,表示时间需要 0.447 毫秒。
2) 在主机 C 上伪造请求超时 ICMP 数据包,设置源 IP 地址为 192.168.59.135,执行命令如下:
root@daxueba:~# netwox 83 -i 192.168.59.135
执行命令后没有任何输出信息,但是成功伪造了请求超时 ICMP 数据包。
3) 再次在主机 A 上 ping 主机 B,执行命令如下:
root@daxueba:~# ping 192.168.59.135
输出信息如下:
PING 192.168.59.135 (192.168.59.135) 56(84) bytes of data.
64 bytes from 192.168.59.135: icmp_seq=6 ttl=64 time=0.336 ms
From 192.168.59.135 icmp_seq=6 Time to live exceeded
64 bytes from 192.168.59.135: icmp_seq=7 ttl=64 time=0.532 ms
From 192.168.59.135 icmp_seq=7 Time to live exceeded
64 bytes from 192.168.59.135: icmp_seq=8 ttl=64 time=0.495 ms
From 192.168.59.135 icmp_seq=8 Time to live exceeded
从上述输出信息可以看到,主机 A 向主机 192.168.59.135 发送了 ping 请求。部分请求没有收到响应信息,而显示了 Time to live exceeded 信息,表示时间超时。
4) 为了验证伪造的请求超时 ICMP 数据包,可以通过捕获数据包查看,如图所示,捕获到了若干个 ICMP 超时数据包。
其中,第 3 个数据包的源 IP 地址为 192.168.59.134,目标 IP 地址为 192.168.59.135,是主机 A 向主机 B 发送的 ICMP 请求包;第 5 个数据包源 IP 地址为 192.168.59.135,目标 IP 地址为 192.168.59.134,Info 列显示的 Time-to-live exceeded 表示时间超时,说明该数据包为伪造的请求超时 ICMP 包。
5) 选择第 5 个数据包,查看包信息,如图所示。
在该数据包的 Internet Control Message Protocol 部分中,Type 值为 11,Code 值为 0,说明该数据包是请求超时 ICMP 数据包。
35.伪造请求超时的ICMP数据包相关推荐
- #获得请求来源ip_以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解
以太网首部 目地MAC地址(8字节) 源MAC地址(8字节) 类型(2字节) 1.IP头的结构 版本(4位) 头长度(4位) 服务类型(8位) 封包总长度(16位) 封包标识(16位) 标志(3位) ...
- python构造icmp数据包_如何在python中构造ICMP数据包
为了学习,我目前正在尝试创建一个简单的python porgram来向某个设备发送ICMP ping数据包.为了开始,我查看了python模块Pyping:https://github.com/Akh ...
- (C)libnet-发送arp/tcp/icmp数据包
一.发送arp数据包 #include <stdio.h> #include <libnet.h> int main() { int res; /*********init p ...
- 编写一个python程序,利用scapy数据库构造一个icmp数据包,使其能实现ip扫描
下面是一个使用 scapy 库来构造 ICMP 数据包并进行 IP 扫描的 Python 程序的示例: from scapy.all import *# 设置源 IP 地址和目的 IP 地址 src_ ...
- 用Golang自己构造ICMP数据包
ICMP是用来对网络状况进行反馈的协议,可以用来侦测网络状态或检测网路错误. 限于当前Golang在网络编程方面的代码稀缺,资料甚少,所以分享一个用Golang来构造ICMP数据包并发送ping程序的 ...
- html协议中目标端口,ICMP数据包的过滤主要基于()A、目标端口B、源端口C、消息源代码D、协议prot...
ICMP数据包的过滤主要基于()A.目标端口B.源端口C.消息源代码D.协议prot 更多相关问题 They agreed to order ______ the waiter recommended ...
- 数据包收发c语言程序,在C程序中发送ICMP数据包
我正在尝试用C创建一个ICMP ping测试程序,但是在成功发送数据包时遇到了困难. sendto函数返回字节数和所有内容但实际上没有发送数据包.我已经在目标计算机上使用WireShark验证了这一点 ...
- 跨网段icmp数据包发送过程
在发送icmp包的时候三层头不会变化,而二层头的目的地mac会发生变化,变为网关的mac 在icmp发送跨网段数据包的时候,需要先发送arp请求报文获取网关的mac pc1 to switch: |a ...
- tcpdump 抓取icmp数据包
#eth1 可以替换成你的网卡名称 -nn 显示 IP地址 和 Mac 地址 tcpdump -nn -i eth1 icmp 今天正好有时间做一个简单的补充 tcpdump 其实和wireshark ...
- python构造icmp数据包_用python篡改icmp报文再发送给接收方
展开全部 程序处理上有些问题,建议深入研究一下ICMP协议.下面是Python 3的一个ICMP的简单实现,可以参考一下.32313133353236313431303231363533e78988e ...
最新文章
- 求n!中含有质因子p的个数
- MNA-CNN: 如何在美学质量评估中储存照片原始信息
- 网易云携手美云智数掀起企业移动信息化发展新浪潮
- CodeForces 213 E
- 区块链 Fisco bcos 智能合约(17)-区块链的速度困境:“贵”在信任,“慢”得其所
- wincc远程服务器配置,WINCC-OPC服务器配置
- 【夏栀的博客】3月9日零点正式上线
- 治军首在选将,余承东挂帅华为云
- Hulu推荐:小众又新颖的综艺
- T480s安装Ubuntu16
- 1217_使用SCons生成目标文件
- 家用计算机硬盘一般价格,家用电脑使用企业级硬盘的效果会很好吗?
- Excel数据可视化——使用图标集显示数据的意义
- objectArx ---基础操作
- 修改内核参数 dad_transmits
- 如何读写一篇优秀的计算机论文
- python爬虫解析库(Xpath、beautiful soup、Jsonpath)
- Python爬取豆瓣电影评论数据(通用模板代码)----以《中国医生》为例
- OpenCV-实现天空变换(图像分割)
- Maven Pom文件标签详解