一:如何查看端口

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

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

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

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

Fport” (可到http://www.ccert.edu.cn/tools/index.php?type_t=7或http://www.ccidnet.com/soft/cce下载)

二:如何理解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协议与DDOS

    本节内容 1.TCP协议浅谈 1.HTTP连接 2.SOCKET原理 3.TCP介绍 4.TCP连接的三次握手与四次挥手 2.DDOS 1.什么是DDOS 2.攻击原理 3.防护方法 4.其他攻击方式 ...

  2. 浅谈tcp协议与tcp_tw

    浅谈tcp_tw_reuse 流量控制.拥塞控制 什么是TIME_WAIT状态? 为什么要设计TIME_WAIT状态? 原因一:防止历史连接中的数据,被后面相同四元组的连接错误的接收 原因二:保证「被 ...

  3. tcp校验和计算校验和例子_浅谈TCP协议,总算明白它是干什么的了

    一.什么是TCP,他是干什么的? TCP即传输控制协议(Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通讯协议. TCP是为了在不可靠的互联网 ...

  4. 关于TCP协议的端口(port)

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

  5. 浅谈HTTP协议的作用过程

    浅谈http协议的作用过程 引言 正文 一.HTTP定义 二.HTTP完整的请求过程 域名解析 与服务器建立连接 发送http请求给服务器 服务器返回数据给客户端 客户端与服务器端断开通信 结束语 引 ...

  6. 浅谈TCP/IP协议栈(三)路由器简介

    读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个T ...

  7. 【转】 浅谈Radius协议

    浅谈Radius协议 2013-12-03 16:06 5791人阅读 评论(0) 收藏 举报  分类: Radius协议分析(6)  从事Radius协议开发有段时间了,小弟不怕才疏学浅,卖弄一下, ...

  8. 转:浅谈Radius协议 -来自CSDN:http://blog.csdn.net/wangpengqi/article/details/17097221

    浅谈Radius协议 2013-12-03 16:06 5791人阅读 评论(0) 收藏 举报  分类: Radius协议分析(6)  从事Radius协议开发有段时间了,小弟不怕才疏学浅,卖弄一下, ...

  9. 浅谈IPv4协议与IPv6协议的区别

    浅谈IPv4协议与IPv6协议的区别?咱们先了解下什么叫IPv4协议和IPv6协议.IPv4,是互联网协议(Internet Protocol,IP)的第四版,应属第一个被广泛应用,构成现阶段互联网技 ...

最新文章

  1. java 创建 HMAC 签名
  2. 估价范围还没有生产式的物料帐薄
  3. LeetCode--Add Two Numbers
  4. linux下添加服务,Linux下添加服务
  5. python程序30行_Python30行代码实现对pdf文字内容的提取
  6. 通过管道实现文件的拷贝
  7. c语言获取读卡器读到的信息,插卡式读卡器(接触式IC卡读写设备)
  8. 字符的ASCII码值
  9. c语言在线考试系统的需求分析,在线考试系统需求分析.doc
  10. 淘宝图片的尺寸是多少?手把手教你快速制作淘宝店图
  11. malloc函数的用法
  12. XML 中大于等于小于等于的写法
  13. HTTP协议以及返回状态码
  14. 关于在vue中实现7天免登录
  15. 海尔智家、海尔电器合体战美的、格力
  16. Android重启App
  17. php cmyk图片,php – 使用Imagick将图像从RGB转换为CMYK
  18. go语言 func函数
  19. 【音频特征】语音特征小结
  20. hadoop 学习路线

热门文章

  1. 网站排名下降要如何优化提升排名呢
  2. 自学网络安全的三个必经阶段(含路线图)
  3. Fluent多相流之VOF模型操作实例
  4. 2023年最全盘点 | 16款跨平台应用程序开发框架
  5. VMware虚拟机下载与安装(内附密钥)
  6. MySQL 1414错误
  7. 【官方】Mysql中注释的规范写法(全部)
  8. Vue报错:VueCompilerError: Attribute name cannot contain U+0022 (“), U+0027 (‘), and U+003C (<).
  9. 《论文笔记》—— Self-supervised Image-specific Prototype Exploration for Weakly Supervised Semantic Segment
  10. linux postfix 虚拟,postfix虚拟别名域的配置