什么是ftp 端口?

什么是ftp 端口?,第1张

在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。
查看端口
在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令:
依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。
关闭/开启端口
在介绍各种端口的作用前,这里先介绍一下在Windows中如何关闭/打开端口,因为默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等等。为了保证系统的安全性,我们可以通过下面的方法来关闭/开启端口。
关闭端口
比如在Windows 2000/XP中关闭SMTP服务的25端口,可以这样做:首先打开“控制面板”,双击“管理工具”,再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。
开启端口
如果要开启该端口只要先在“启动类型”选择“自动”,单击“确定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮即可启用该端口,最后,单击“确定”按钮即可。
提示:在Windows 98中没有“服务”选项,你可以使用防火墙的规则设置功能来关闭/开启端口。
端口分类
逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:
1 按端口号分布划分
(1)知名端口(Well-Known Ports)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给>自己定义一个结构体发字节流过去不就可以了。建议把字节流封包传输
如:
第1个字节 &HB1 表示包头开始标志
第2个字节 &H01 表示发送数据命令
第3-4个字节 &H0005 表示数据长度为5个字节
第5个字节 &H00 具体的数据第1个字节内容
第6个字节 &H00 具体的数据第2个字节内容
第7个字节 &H00 具体的数据第3个字节内容
第8个字节 &H00 具体的数据第4个字节内容
第9个字节 &H00 具体的数据第5个字节内容
第10个字节 &HB5 从包头开始逐个进行异或运算的“异或校检码”,校检数据的完整性用
第11个字节 &HB2 表示包尾
上面这个包主要由6个部分组成
1、包头 用来进行包的初始化识别
2、命令 扩展包协议用,如传输语句、传输控制指令、移动记录等
3、数据长度 我这里的例子是用两个字节表示长度,即最多一个包传输65536个字节的数据
4、数据区域 具体要传输的数据段落
5、异或校检码 为了检测数据的完整性,也可以用CRC16或CRC32等算法进行数据校检
6、包尾 用来完整识别一个包内容的结束标志
通过上面这个包结构,可以在数据包里放置小于65536个字节的内容进行传输
在处理传输数据时可以这么做:
Type SendReport
sr_head As Byte ' 固定为 &HB1
sr_cmd As Byte ' 命令
sr_size As Integer ' 数据大小
sr_data() As Byte ' 数据内容
sr_xor As Byte ' 异或校检码
sr_end As Byte ' 固定为 &HB2
End Type
Type SendRF
rs_type As Integer ' 字段类型
rs_NameSize As Integer ' 字段名称字节数
rs_name() As Byte ' 字段名称内容
rs_size As Integer ' 字段数据大小
rs_data() As Byte ' 字段数据内容
End Type
Type SendRS
rs_fcount As Integer ' 字段数量
rs_data() As SendRF ' 字段数据
End Type

然后把数据集的数据赋值到上面的机构体里,再把结构体的数据格式化到一个字节数组中,便可把这个字节数组发送出去,接收端只要根据格式提取出相关数据到结构体,就可以实现数据的还原过程。在过程里只要善用 CopyMemory API 就可以很容易实现这种过程的处理,如
Dim SR As SendReport
Dim SentBytes() as Byte
Dim i As Long
SRsr_head = &HB1:SRsr_xor = SRsr_head
SRsr_cmd = &H01:SRsr_xor = SRsr_xor xor SRsr_cmd
SRsr_size = &H05:SRsr_xor = SRsr_xor xor SRsr_size
Redim SRsr_data(4)
for i=0 to ubound(SRsr_data)
SRsr_xor = SRsr_xor xor SRsr_data(i)
next i
SRsr_end = &HB2
Redim SentBytes(10)
CopyMemory SentBytes(0),SRsr_head,1
CopyMemory SentBytes(1),SRsr_cmd,1
CopyMemory SentBytes(2),SRsr_size,2
CopyMemory SentBytes(4),SRsr_data(0),5
SentBytes(Ubound(SentBytes)-1) = SRsr_xor
SentBytes(Ubound(SentBytes)) = SRsr_end
Winsock1SendData SentBytes
当然上面只是封包的过程,没有设置具体的数据集数据,不过原理也差不多,也就是读写SendRF和SendRS结构的问题。具体的自己做做看吧。

什么是端口映射
在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。服务器可以向外提供多种服务,比如,一台服务器可以同时是WEB服务器,也可以是FTP服务器,同时,它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的端口分别提供不同的服务,比如:WEB采用80端口,FTP采用21端口等。这样,通过不同端口,计算机与外界进行互不干扰的通信。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。端口映射:内网的一台电脑要上因特网,就需要端口映射。端口映射分为动态和静态动态端口映射:内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。然后再把数据发给新浪网,新浪网收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。动态端口映射其实也就是NAT网关的工作方式。静态端口映射: 就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一个电脑

IP地址是指互联网协议地址( 英语 :Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是 IP协议 提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义 网络设备 的位置。在 OSI模型 中,第三层 网络层 负责 IP地址 ,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个 网络位置 会有一个专属于它的IP地址。 [1]

子网掩码是用来判断任意两台计算机的ip地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的ip地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯 。

那么网关到底是什么呢?网关实质上是一个网络通向其他网络的 IP地址 。比如有网络A和网络B,网络A的 IP 地址范围为“19216811~192 1681254”, 子网掩码 为2552552550;网络B的IP地址范围为“19216821~1921682254”,子网掩码为2552552550。在没有 路由器 的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台 交换机 (或 集线器 )上,TCP/IP协议也会根据 子网掩码 (2552552550)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现 数据包 的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有 路由 功能的设备的IP地址,具有路由功能的设备有 路由器 、启用了 路由协议 的服务器(实质上相当于一台路由器)、 代理服务器 (也相当于一台路由器)。

在和 Novell NetWare 网络交互 *** 作的上下文中,网关在 Windows 网络中使用的服务器信息块 (SMB) 协议以及 NetWare 网络使用的 NetWare 核心协议 (NCP) 之间起着桥梁的作用。网关也被称为 IP路由器。

DNS 是指:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器 。

OSI模型 把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过 以太网 发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13496183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-18
下一篇 2023-08-18

发表评论

登录后才能评论

评论列表(0条)

保存