首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于UDP接收icmp端口不可达(port unreachable)

本篇分为3部分 1:报文格式 2:产生的原因 3:linux协议栈如何处理 4:应用层如何获取 1: 报文如下,10.30.13.1往10.30.16.10的80端口发送了一个UDP报文,80端口其实监听的是...服务器回复了一个类型为端口不可达的ICMP,ICMP数据部分就是请求UDP ip层及其以上的数据。 2:原因 首先原因就是接收udp报文的服务器对应的端口没有开启UDP服务器。...注意这里的描述,并不是端口没有开启服务,而是没有开启UDP服务,如果开启了TCP服务,照样也会回port unreachable。...= NULL),就回复icmp destination unreachable(这就是服务器没有对应端口接受UDP的处理流程),函数非常简单 所以作为服务器,收到一个目的端口并未监听的报文,直接回复端口不可达...(其实这也是当初我认为客户端udp不会对端口不可达数据进行相应的原因,因为udp处理流程是udp_rcv)。

9.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux查看udp端口占用命令,详解Linux查看端口占用「建议收藏」

    在使用计算机的过程中,有时会碰到端口被占用的情况,这时候需要查看端口占用情况进行问题排查。...在linux系统中,端口占用的情况也时有发生,一般情况下可以使用lsof和netstat两个命令来查看端口占用情况。...查看某个端口的占用情况使用命令: lsof -i:port,比如查看9090端口使用情况:lsof -i:9090。...Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。因此可以使用netstat命令查看系统中端口占用情况。...查看指定端口号的进程情况使用命令:netstat -tunlp | grep port,比如查看9090端口的进程:netstat -tunlp | grep 9090。

    31.3K21

    vowfi中IPSEC port 500、4500端口解释

    关于IPSEC 500、4500端口的问题,经过查阅相关RFC,做以下澄清 1.port 500是 Internet Security Association and Key Management Protocol...(ISAKMP)端口号 2.UDP PORT 4500是 UDP-encapsulated ESP and IKE端口号 首先解释一下正常IPSEC的封装和端口: 1.IPSEC建立分为三个阶段...Port 那为什么在测试中抓包里面能看到ESP都有端口呢?...在RFC rfc 4306 Internet Key Exchange (IKEv2) Protocol中了做了如下阐述: Port 4500 is reserved for UDP-encapsulated...从上面标黄色的描述可以看出,只有当IKE在阶段一进行NAT监测时候,发现网络中存在NAT,IKE会把端口从500改到4500,后续的ESP流量前面加一个UDP的头,端口4500 下面我找了一个详细的图来描述在

    5.5K70

    查看端口占用的进程_cmd查看端口占用

    在开发中经常会遇到端口占用问题,例如下面,npm start 报的错误: 1....查看端口占用情况命令 lsof -i tcp:8080 输出结果: 字段说明: 字段名 说明 COMMAND 进程名称 PID 进程标识符 USER 进程所有者 FD 文件描述符,应用程序通过文件描述符识别该文件...所以如传输控制协议(TCP)、用户数据报协议(UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符。...无论这个文件的本质如何,该文件描述符(FD)为应用程序与基础操作系统之间的交互提供了通用接口,因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof能够查看这个列表对系统监测以及排错很有帮助

    64.8K31

    Linux查看开放端口_linux查看对外端口

    -permanent --zone=public --add-port=81/tcp # 添加多个端口 firewall-cmd --permanent --zone=public --add-port...=8080-8083/tcp # 删除某个端口 firewall-cmd --permanent --zone=public --remove-port=81/tcp # 针对某个 IP开放端口 firewall-cmd...protocol="tcp" port="9200" accept" # 添加操作后别忘了执行重载 firewall-cmd --reload 查看指定级别的所有信息,譬如 public #firewall-cmd...(防火墙拦截处理) 查看端口是否可访问:telnet ip 端口号 (如本机的35465:telnet localhost 35465) 开放的端口位于/etc/sysconfig/iptables中...查看时通过 more /etc/sysconfig/iptables 命令查看 如果想开放端口(如:8889) (1)通过vi /etc/sysconfig/iptables 进入编辑增添一条-A

    83.9K30

    linux查看端口占用的命令_端口占用查看命令

    端口   -u : 指明显示UDP端口   -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)   -p : 显示进程标识符和程序名称,每一个套接字...-n : 不进行DNS轮询,显示IP(可以加速操作) 即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况·· netstat -ntlp //查看当前所有tcp端口...· netstat -ntulp |grep 80 //查看所有80端口使用情况· netstat -ntulp | grep 3306 //查看所有3306端口使用情况· Linux...查看程序端口占用情况 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程。...地址 service –> /etc/service中的 service name (可以不止一个) port –> 端口号 (可以不止一个) lsof -i //显示所有打开的端口

    79.2K31

    linux查看80端口占用情况_centos查看端口命令

    前言 平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种 Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。...1. lsof -i:端口号 用于查看某一端口的占用情况 安装 需要注意的是,centos系统默认是没有安装lsof(list open files)的,需要手动安装 yum install lsof...案例 查看服务器 8000 端口的占用情况: 各列代表的含义: COMMAND:进程的名称 PID:进程标识符 USER:进程所有者 FD:文件描述符,应用程序通过文件描述符识别该文件。...UNIX domain文件 2. netstat -tunlp | grep 端口号,用于查看指定端口号的进程情况 参数含义 -t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项...-untlp | grep 80 //查看所有80端口使用情况 netstat -untlp | grep 3306 //查看所有3306端口使用情况 发布者:全栈程序员栈长,转载请注明出处:

    53.7K60

    查看端口被进程占用命令_cmd查看端口占用

    process and system utilities module for Python unhide.x86_64 : Tool to find hidden processes and TCP/UDP...步骤二 查询被占用的端口。...首先是需要输入命令,查看被占用的端口的进程 netstat -tunlp | grep 端口号 -t (tcp) 仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名...,能显示数字的全部转化为数字 -l 仅列出在Listen(监听)的服务状态 -p 显示建立相关链接的程序名 例如查看 8000 端口的情况,使用以下命令: 根据集成id查询进程...如果想详细查看这个进程,ID具体是哪一个进程,可以通过命令的方式进行查看进程的详细信息, ps -ef|grep 进程ID 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    49.8K10
    领券