协议号与端⼝号详解
IP是⽹络层协议,IP头中的协议号⽤来说明IP报⽂中承载的是哪种协议(⼀般是传输层协议,⽐如6 TCP,17 UDP;但也可能是⽹络层协议,⽐如1 ICMP;也可能是应⽤层协议,⽐如89 OSPF)。
TCP/UDP是传输层协议,TCP/UDP的端⼝号⽤来说明是哪种上层应⽤,⽐如TCP 80代表WWW,TCP 23代表Telnet,UDP 69代表TFTP。
⽬的主机收到IP包后,根据IP协议号确定送给哪个模块(TCP/)处理,送给TCP/UDP模块的报⽂根据端⼝号确定送给哪个应⽤程序处理。
协议号和端⼝号的区别
ip协议是⽹络层协议,三层的,协议号标识上层是什么协议,eg:17号表⽰是上层即传输层是udp协议,6号表⽰上层即传输层是tcp协
议,89标识上层是ospf协议等等
tcp端⼝号表⽰是什么应⽤,eg:80 http服务,23 telnet服务,53 dns服务
udp端⼝原理和tcp是⼀样的。
⽹络层-数据包的包格式⾥⾯有个很重要的字段叫做协议号。⽐如在传输层如果是TCP连接,那么在⽹络层IP包⾥⾯的协议号就将会有个值是6,如果是UDP的话那个值就是17。传输层通过接⼝关联(这⼀接⼝字段叫做端⼝)应⽤层,详见RFC 1700。协议号是存在于IP数据报⾸部的20字节的固定部分,占有8bit,该字段是指出此数据报所携带的数据使⽤了何种协议,以便⽬的主机的IP层知道将数据部分上交给哪个处理过程。也就是协议字段告诉IP层应当如何交付数据。
端⼝是传输层服务访问点TSAP,端⼝的作⽤是让应⽤层的各种应⽤进程都能将其数据通过端⼝向下交付给传输层,以及让传输层知道应当将其报⽂段中的数据向上通过端⼝交付给应⽤层的进程。
端⼝号存在于UDP和TCP报⽂的⾸部,⽽IP数据报则是将UDP或者TCP报⽂做为其数据部分,再加上IP数据报⾸部,封装成IP数据报。⽽协议号则是存在这个IP数据报的⾸部。
⽐如,客户端发送⼀个数据包给IP,然后IP将进来的数据发送给传输协议(tcp或者udp),然后传输协议再根据数据包的第⼀个报头中的协议号和端⼝号来决定将此数据包给哪个应⽤程序(也叫⽹络服务)。也就是说,协议号+端⼝号唯⼀地确定了接收数据包的⽹络进程。由于标志数据发送进程的“源端⼝号”和标志数据接受进程的“⽬的端⼝号”都包含在每个TCP段和UDP段的第⼀个分组中,系统可以知道到底是哪个客户应⽤程序同哪个服务器应⽤程序在通讯,⽽不会将数据发送到别的进程中。
telnet ip 端口号但是要注意的⼀点是同样的⼀个端⼝在不同的协议中的意义是不同的,⽐如TCP和UDP中的端⼝31指的
并不是同⼀个端⼝。但是对于同⼀个协议,端⼝号却是唯⼀的。
在端⼝中分为两种,⼀是“知名端⼝”,也即⼩于256的端⼝号。另⼀种是“动态分配的端⼝”,也就是在需要时再将其赋给特定的进程。这类似于NT服务器或者163拨号上⽹,也就是动态的分配给⽤户⼀个⽬前没有⽤到的标志。动态分配的端⼝号都是⾼于标准端⼝号范围的。
端⼝号的作⽤及常见端⼝号⽤途说明
IP协议是由TCP、UDP、ARP、ICMP等⼀系列⼦协议组成的。其中,主要⽤来做传输数据使⽤的是TCP和UDP协议。在TCP和UDP协议中,都有端⼝号的概念存在。端⼝号的作⽤,主要是区分服务类别和在同⼀时间进⾏多个会话。
举例来说,有主机A需要对外提供FTP和WWW两种服务,如果没有端⼝号存在的话,这两种服务是⽆法区分的。实际上,当⽹络上某主机B需要访问A的FTP服务时,就要指定⽬的端⼝号为21;当需要访问A的WWW服务时,则需要将⽬的端⼝号设为80,这时A根据B访问的端⼝号,就可以区分B的两种不同请求。这就是端⼝号区分服务类别的作⽤。
再举个例⼦:主机A需要同时下载⽹络上某FTP服务器B上的两个⽂件,那么A需要与B同时建⽴两个会话,⽽这两个传输会话就是靠源端⼝号来区分的。在这种情况下如果没有源端⼝号的概念,那么A就
⽆法区分B传回的数据究竟是属于哪个会话,属于哪个⽂件。⽽实际上的通信过程是,A使⽤本机的1025号端⼝请求B的21号端⼝上的⽂件1,同时⼜使⽤1026号端⼝请求⽂件2。对于返回的数据,发现是传回给1025号端⼝的,就认为是属于⽂件1;传回给1026号端⼝的,则认为是属于⽂件2。这就是端⼝号区分多个会话的作⽤。
如果说IP地址让⽹络上的两个节点之间可以建⽴点对点的连接,那么端⼝号则为端到端的连接提供了可能。理解端⼝号的概念,对于理解TCP/IP协议的通信过程有着⾄关重要的作⽤。
端⼝号的范围是从1~65535。其中1~1024是被RFC 3232规定好了的,被称作“众所周知的端⼝”(Well Known Ports);从1025~65535的端⼝被称为动态端⼝(Dynamic Ports),可⽤来建⽴与其它主机的会话,也可由⽤户⾃定义⽤途。
⼀些常见的端⼝号及其⽤途如下:
TCP 21端⼝:FTP ⽂件传输服务
TCP 23端⼝:TELNET 终端仿真服务
TCP 25端⼝:SMTP 简单邮件传输服务
UDP 53端⼝:DNS 域名解析服务
TCP 80端⼝:HTTP 超⽂本传输服务
TCP 110端⼝:POP3 “邮局协议版本3”使⽤的端⼝
TCP 443端⼝:HTTPS 加密的超⽂本传输服务
TCP 1521端⼝:Oracle数据库服务
TCP 1863端⼝:MSN Messenger的⽂件传输功能所使⽤的端⼝
TCP 3389端⼝:Microsoft RDP 微软远程桌⾯使⽤的端⼝
TCP 5631端⼝:Symantec pcAnywhere 远程控制数据传输时使⽤的端⼝
UDP 5632端⼝:Symantec pcAnywhere 主控端扫描被控端时使⽤的端⼝
TCP 5000端⼝:MS SQL Server使⽤的端⼝
UDP 8000端⼝:腾讯QQ
⽹络服务常⽤的应⽤协议和对应的标准端⼝号:
应⽤协议端⼝号/协议说明
ftp-data 20/tcp FTP, data
ftp 21/tcp FTP. control
telnet 23/tcp
smtp 25/tcp Simple Mail Transfer Protocol
time 37/tcp timserver
time 37/udp timserver
domain 53/tcp Domain Name Server
domain 53/udp Domain Name Server
tftp 69/udp Trivial File Transfer
gopher 70/tcp
http 80/tcp www-http World Wide Web
pop3 110/tcp Post Office Protocol-Version 3
nntp 119/tcp Network News Transfer Protocol
netbios-ns 137/tcp NETBIOS Name Service
netbios-ns 137/udp NETBIOS Name Service
netbios-dgm 138/udp NETBIOS Datagram Service
netbios-ssn 139/tcp NETBIOS Session Service
imap 143/tcp Internet Message Access Protocol
snmp 161/udp SNMP
snmptrap 162/udp SNMP trap
irc 194/tcp Internet Relay Chat Protocol
ipx 213/udp IPX over IP
ldap 389/tcp Lightweight Directory Access Protocol https 443/tcp
https 443/udp
uucp 540/tcp
ldaps 636/tcp LDAP over TLS/SSL
doom 666/tcp Doom Id Software
doom 666/udp Doom Id Software
phone 1167/udp Conference calling
ms-sql-s 1433/tcp Microsoft-SQL-Server
ms-sql-s 1433/udp Microsoft-SQL-Server
ms-sql-m 1434/tcp Microsoft-SQL-Monitor
ms-sql-m 1434/udp Microsoft-SQL-Monitor
wins 1512/tcp Microsoft Windows Internet Name Service wins 1512/udp Microsoft Windows Internet Name Service l2tp 1701/udp Layer Two Tunneling Protocol
1720/tcp
QICQ 4000/udp
QICQ 8000/udp
QQ 1080/UDP Socks 代理《⽊马的常⽤连接端⼝》
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论