一:如何查看端口

1.查看所有的端口占用情况:
   在windows命令行窗口下执行: C:\>netstat -ano

2.查看指定端口的占用情况C:\>netstat -aon|findstr "9050"

3.也可以使用其他第三方工具,例如:

TcpView,下载地址:http://pan.baidu.com/s/1bnGfIwv

二:如何理解TCP协议与端口

计算机"端口"是英文port的译义,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。

我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念.工具提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。

那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:256×256)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(256×256)。

在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。

本地操作系统会给那些有需求的进程分配协议端口(protocalport,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。

端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口。 每一个 TCP 联机都必须由一端(通常为 client )发起请求这个port 通常是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包;如果另一端(通常为 Server ) 接受这个请求的话(当然啰,特殊的服务需要以特殊的 port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的第二个封包!其上除了 SYN 旗标之外同时还将 ACK 旗标也设定起来,并同时时在本机端建立资源以待联机之需;然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带 ACK 旗标(事实上,后继联机中的所有封包都必须带有 ACK 旗标);只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后,两端的联机才能正式建立。这就是所谓的 TCP 联机的'三段式交握(Three-Way Handshake )'的原理。

经过三向交握之后,你的 client 端的 port 通常是高于 1024 的随机取得的 port 至于主机端则视当时的服务是开启哪一个 port 而定,例如 WWW 选择 80 而 FTP 则以 21 为正常的联机信道!

关于TCP协议的端口(port)相关推荐

  1. 浅谈TCP协议的端口(port)

    一:如何查看端口 1.查看所有的端口占用情况:    在windows命令行窗口下执行: C:\>netstat -ano 2.查看指定端口的占用情况C:\>netstat -aon|fi ...

  2. udo/tcp协议占用端口列表(因5060被占用而采用的新端口)

    http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表 维基百科,自由的百科全书 跳转 ...

  3. tcp协议的端口状态

    Listening Syn_sent syn_rcvd established close_wait time_wait --------- 对方主动关闭(对方调用close()), 我方的状态变为 ...

  4. 判断端口是否能用_扫描器篇(八)之python+scapy构造TCP协议包扫描主机端口

    TCP协议端口扫描 要使用TCP协议去完成端口扫描,肯定是需要了解TCP协议通信过程和原理才能完成的 TCP协议的特点 1 面向连接的:使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写, ...

  5. TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集

    第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是"虚拟局域网".LAN可以是由少数几台家用计算机构成的网络,也可以是 ...

  6. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  7. 基于UDP/TCP的网络协议(端口分配)

    每一个应用层(TCP/IP参考模型的最高层)协议一般都会使用到两个传输层协议之一: 面向连接的TCP传输控制协议和无连接的包传输的UDP用户数据报文协议. 运行在TCP协议上的协议: HTTP(Hyp ...

  8. TCP协议端口状态说明:CLOSE-WAIT、TIME_WAIT 、LISTENING、SYN_SENT、ESTABLISHED、LAST_ACK、CLOSED

    了解TCP协议端口的连接状态,对排除和定位网络或系统故障会有很大帮助,因此了解一下是有必要的: 一.LISTENING  提供某种服务,侦听远方TCP端口的连接请求,当提供的服务没有被连接时,处于LI ...

  9. TCP/UDP协议常用端口号服务

    端口号的范围是从1-65535.其中1-1024是被RFC 3232规定好了的,被称作"众所周知的端口"(Well Known Ports):从1025-65535的端口被称为动态 ...

最新文章

  1. vue中的if判断和for循环语句
  2. 前端菜鸟笔记 Day-5 CSS 高级
  3. 这可能是最生动的加密相关科普文章
  4. layui框架使用总结
  5. jvm学习笔记(1)——java虚拟机内存区域
  6. 斯图加特大学GPU光线投射体渲染技术提携
  7. 蚂蚁集团暂缓两地上市,重新上市或推迟半年,阿里股价相继大跌...
  8. 蚂蚁上市或诞生近60位亿万富翁;特斯拉回应25万元团购Model3;Python 3.8.5 发布| 极客头条
  9. Linux系统安装配置curl
  10. Consul 服务注册与发现一站式解决方案
  11. android mtk平台,android mtk平台默认输入法
  12. 弱人工智能才是未来AI研究的主流方向
  13. jquery 插件页面回到顶部
  14. 机械优化设计c语言鲍威尔法,机械优化设计鲍威尔法
  15. 本地化软件UI部分不显示的一种可能
  16. InputStream 、FileInputStream、InputStreamReader 、BufferedReader的区别
  17. linux dsp开发环境,在ubuntu上搭建uclinux开发环境(转载)--- 第二篇
  18. FOC控制中电流环带宽
  19. ANS1编码详解(二)--编码规则
  20. 安装Hexo博客并部署到GitHub或云服务器(细节教程,越过各种坑)

热门文章

  1. 钉钉机器人自动发消息
  2. 什么是鱼骨图分析法,详细解析
  3. Java中小数默认为double类型
  4. Spring连接Mysql报Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link fai错
  5. jcanvas实现图片上传
  6. [游戏策划] 读书笔记
  7. 一次弄懂aardio中的数据类型转换
  8. java蓝光_蓝光文件解析
  9. 1.5小时!一键部署Oracle 11GR2 RAC 集群
  10. 养成良好的写代码习惯