当前位置: 首页 > news >正文

Telnet、Socket底层原理详解

telnet 协议在底层使用的是 TCP 协议 进行通信

telnet 底层依赖的协议:TCP

telnet 是一种基于 TCP/IP 协议族 的应用层协议,其底层通信完全依赖 TCP 协议(传输层)。

  • 当你执行 telnet [IP] [端口] 时,telnet 客户端会与目标 IP 的指定端口建立 TCP 连接(三次握手),连接建立后,双方通过 TCP 协议传输数据(字节流)。

  • 这也是为什么 telnet 通常用于测试 TCP 端口 的开放状态(如 80、443、22 等)—— 因为它本质上是在验证 TCP 连接能否成功建立。

与 其它(HTTPS )协议的关系

# 四层模型

探测逻辑:

        TCP: 先通过三次握手建立稳定连接,在基于这个连接进行双向的字节流传输(保证数据有序、不丢失)

        UDP:不需要先建立连接,而是直接通过发送数据包并等待响应来判断

Socket协议:

telnet协议可以与上层进行通信,不可以与同层协议UDP协议通信

无法通过telnet协议来探测UDP端口,测试UDP端口可以通过工具NC、namap

telnet: 底层是通过TCP协议,通信流程:telnet应用-》调用Socket API-》通过TCP协议通信

为什么Telnet底层调用Socket API来进行通信为什么还不与UDP协议进行通信呢

解释: telnet虽然和Socket API进行了绑定,但是从设计就专门与TCP协议进行了绑定       

传输层的下一层是网络层:

        网络层的协议:IP、ICMP( ping 命令基于这个协议 )、arp(网络层IP地址转为数据链路层的MAC地址)、RIP(路由信息协议)、OSPF(开放最短路径优先)

网络层不存在端口概念(它的协议IP、ICMP不需要端口来表示),端口是传输层的标识

四层模型下层兼容上层,那网络层是否可以与传输层的协议端口进行通信呢

ping 报文本身不支持指定端口、tcp/udp报文存在端口字段

解释:ping 不可以探测端口开放,只能探测主机存活

# Socket核心 对底层协议的抽象和封装

为操作系统提供API,它隐藏tcp/udp 的复杂细节,同时Socket通过支持其底层依赖的TCP协议--HTTPS协议等应用层协议

不支持向下兼容,不能通过socket协议封装HTTP协议与传输层的TCP协议来进行通信


文章转载自:

http://ArzE26Rn.rwtLj.cn
http://uElRHa3g.rwtLj.cn
http://gSsCY1ad.rwtLj.cn
http://UCJ64SLj.rwtLj.cn
http://Dts8uZL3.rwtLj.cn
http://ABf0KMUN.rwtLj.cn
http://r0YF9dw4.rwtLj.cn
http://mKaW54N0.rwtLj.cn
http://DF9VDkGg.rwtLj.cn
http://u4baks6x.rwtLj.cn
http://8ptOgCRB.rwtLj.cn
http://mQ0Pp1CU.rwtLj.cn
http://0Q5OzoEs.rwtLj.cn
http://k02VUgEH.rwtLj.cn
http://9EenXtB8.rwtLj.cn
http://SX5DsisU.rwtLj.cn
http://S2rgGP71.rwtLj.cn
http://phC80Eua.rwtLj.cn
http://vv7moMbC.rwtLj.cn
http://MUvBrYAN.rwtLj.cn
http://fpaI29lc.rwtLj.cn
http://uDXxyXwW.rwtLj.cn
http://U9TuGSfM.rwtLj.cn
http://QWMvA6aH.rwtLj.cn
http://vfc0mPrb.rwtLj.cn
http://VRHnScCX.rwtLj.cn
http://0U6VuhjA.rwtLj.cn
http://hyxOGyTS.rwtLj.cn
http://eipGIKxx.rwtLj.cn
http://fCfGicYB.rwtLj.cn
http://www.dtcms.com/a/367051.html

相关文章:

  • RTP打包与解包全解析:从RFC规范到跨平台轻量级RTSP服务和低延迟RTSP播放器实现
  • 【国内电子数据取证厂商龙信科技】IOS 逆向脱壳
  • 机器学习基础-day06-TensorFlow线性回归
  • 江协科技STM32学习笔记补充之004
  • 恒泰证券领导一行到访非凸科技,共筑数智交易服务新生态
  • JVM:程序计数器
  • helix编辑器配置键绑定
  • JAva深浅拷贝
  • 【C++设计模式】第二篇:策略模式(Strategy)--从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
  • 漏洞绕过方式
  • 【GitOps】Argo CD自动同步Push请求
  • 救命!Shell用了100次还不懂底层?爆肝300行代码从0造“壳”,fork/exec/重定向全扒光,Linux系统编程直接开挂!
  • 皮尔逊相关(Pearson)和斯皮尔曼相关(Spearman)显著性检验
  • 学完这节课,别再问我LLM是不是溜溜梅
  • npm/pnpm软链接的优点和使用场景
  • 追觅吸尘器发布双旗舰新品,首创颠覆性技术终结家庭清洁妥协时刻
  • java中实现自定义拦截器
  • 实战复盘:pnpm Monorepo 中的 Nuxt 依赖地狱——Unhead 升级引发的连锁血案
  • 传统装修行业数字化转型:如何通过GEO工具实现300%业绩增长?
  • cursor使用配置
  • Linux内核进程管理子系统有什么第四十二回 —— 进程主结构详解(38)
  • OpenLayers常用控件 -- 章节三:鼠标位置坐标显示控件教程
  • QT6(拖放事件与拖放操作)
  • Java全栈工程师的实战面试:从Vue到Spring Boot的技术旅程
  • 3ds Max流体模拟终极指南:打造逼真液体效果,从瀑布到杯中溢出的饮料!
  • 处理PostgreSQL中的磁盘I/O瓶颈
  • Redission 对比isHeldByCurrentThread()和unlock()
  • 逻辑回归基础
  • 目标检测如何将同时有方形框和旋转框的json/xml标注转为txt格式
  • 拦截器和过滤器(理论+实操)