97-ICMP 协议(端口不可达)
来源:互联网 发布:全国省市区sql脚本 编辑:程序博客网 时间:2024/05/20 05:26
ICMP 端口不可达是差错报文中的一种,它的类型(type)是 3,代码(code)也是 3.
1. 差错报文首部格式
图1 差错报文首部
2. 实验
- 打开我们之前写的 ICMP 报文接收程序
程序托管在 gitos 上:http://git.oschina.net/ivan_allen/unp
如果你已经 clone 过这个代码了,请使用 git pull
更新一下。本节程序所使用的程序路径是 unp/program/icmp/basic
.
$ sudo ./icmp
- 打开 tftp 程序
图2 使用 tftp 程序向主机 mars 端口 9999 发送请求,准备下载 temp 文件
tftp 程序使用的协议是 UDP,这里使用了面向连接的 UPD 程序。实际上,mars 主机并没有在 9999 端口有任何服务。因此这个请求会失败。
图3 icmp 报文接收程序接收到了差错报文,type=3, code=3
根据差错报文的规则, icmp 报文携带的原始 ip 数据报里的前 8 字节,应该是 UDP 数据报前 8 字节的内容,看红色框框部分,这是 UDP 数据报的目的端口号,0x270f,也就是 10 进制 9999.
3. 总结
- 掌握差错报文格式
阅读全文
0 0
- 97-ICMP 协议(端口不可达)
- ICMP报文分析:端口不可达
- 关于UDP接收icmp端口不可达(port unreachable)
- UNIX网络编程——ICMP报文分析:端口不可达
- 关于UDP接收icmp端口不可达(port unreachable) ,udp connect的原因
- ICMP是:Internet 控制信息协议(ICMP)是 IP 组的一个整合部分,没有具体的端口号
- udpSocket捕获ICMP不可达错误
- 3.5 ICMP不可达报文的处理
- udpSocket捕获ICMP不可达错误
- 92-ICMP 协议(基础)
- TCP/IP-----协议号、端口号、ARP、icmp
- ICMP(网间网控制报文协议)协议
- ICMP协议
- ICMP协议
- ICMP协议
- icmp协议
- ICMP协议
- ICMP协议
- 变换次数
- Redis操作命令总结
- Mysql如何删除以“#sql-”开头的临时表
- android 沉浸式状态栏 软键盘挡住输入框问题
- java基础——流程控制(选择结构)if语句
- 97-ICMP 协议(端口不可达)
- 测试触发器时出现的错误
- 部分情况下Error:(xx, xx) Failed to resolve: xxxxxx解决。
- sscanf的操作用法
- spring
- 终极报错解决方案:Failed to resolve:annotationProcessor
- u-boot FIT image介绍
- Mysql各种类型字段长度
- 使用wiki百科和gensim训练中文词向量