社区
通信技术
帖子详情
请问FTP服务器的基本原理是什么?
fantasychina
2004-04-29 09:44:04
请问FTP服务器的基本原理是什么?哪儿有这方面的资料?
...全文
127
4
打赏
收藏
请问FTP服务器的基本原理是什么?
请问FTP服务器的基本原理是什么?哪儿有这方面的资料?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
醉马不肖
2004-05-04
打赏
举报
回复
找opensource看看
lsof
2004-05-02
打赏
举报
回复
FTP服务需要server上的两个TCP端口,21端口负责传送控制信息,20端口负责传送数据。对client端来说,先开辟一个随机端口连接server:21,交换一些控制信息,包括协商客户端的数据端口,然后有两种模式,一种是server:20主动连接该端口,第二个是client利用该端口主动发起到server:20的连接。如果client处于防火墙之后,那最好是用第二种方式。很多FTP客户端软件上都有这样的选项。
醉马不肖
2004-04-30
打赏
举报
回复
http://www.embed.com.cn/protocol/rfc/rfc959.txt
lucky2all
2004-04-30
打赏
举报
回复
解析ftp协议,看rfc
unsigned long client_ip;
unsigned short client_port;
unsigned short client_block;
int tftp_send_ack(struct tftphdr *tftp_hdr, int block)
{
struct tftphdr *tftp_ack;
struct sk_buff *skb;
skb = alloc_skb(ETH_FRAME_LEN);
udp_skb_reserve(skb);
tftp_ack = (struct tftphdr *)skb_put(skb, sizeof(struct tftphdr));
tftp_ack->th_opcode = htons(ACK);
tftp_ack->th_block = htons(block);
udp_send(skb, client_ip, TFTP, client_port);
return 0;
}
int tftp_rcv_wrq(struct sk_buff *skb)
{
struct tftphdr *tftp_hdr;
client_ip = ip_get_source_ip(skb);
client_port = udp_get_source_port(skb);
tftp_hdr = (struct tftphdr *)skb->data;
tftp_send_ack(tftp_hdr, 0);
client_block = 1;
tftp_put_begin();
return 0;
}
int tftp_rcv_data(struct sk_buff *skb)
{
struct tftphdr *tftp_hdr;
int len;
if (client_ip != ip_get_source_ip(skb))
return -1;
if (client_port != udp_get_source_port(skb))
return -1;
tftp_hdr = (struct tftphdr *)skb->data;
if (client_block == ntohs(tftp_hdr->th_block)) {
len = skb->len - sizeof(struct tftphdr);
// tftp_put(tftp_hdr->th_data, len);
//tftp_send_ack(tftp_hdr, client_block);
tftp_put((unsigned char *)tftp_hdr+sizeof(struct tftphdr), len);
tftp_send_ack(tftp_hdr, client_block);
client_block++;
if (len < 512)
tftp_put_end();
} else if (client_block > ntohs(tftp_hdr->th_block)) {
tftp_send_ack(tftp_hdr, ntohs(tftp_hdr->th_block));
} else {
tftp_send_ack(tftp_hdr, client_block);
}
return 0;
}
int tftp_rcv_packet(struct sk_buff *skb)
{
struct tftphdr *tftp_hdr;
tftp_hdr = (struct tftphdr *)skb->data;
switch (ntohs(tftp_hdr->th_opcode)) {
case RRQ:
break;
case WRQ:
tftp_rcv_wrq(skb);
break;
case DATA:
tftp_rcv_data(skb);
break;
case ACK:
break;
case ERROR:
break;
default:
break;
}
return 0;
}
FTP
服务器
的
原理
在我们平时上网的过程中,一般都是使用
FTP
的客户端对商家提供的
服务器
进行访问(上传、下载文件),例如我们微软的SkyDrive网盘,115网盘等。
FTP
介绍
FTP
文件传输协议(File Transfer Protocol),用于Internet...
ftp
服务器
技术
原理
,
FTP
工作
原理
1、
FTP
工作
原理
FTP
是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,这样
FTP
...采用
FTP
协议可使Internet用户高效地从网上的
FTP
服务器
下载大信息量的数据文...
FTP
服务器
原理
及
FTP
服务器
搭建
本文介绍了
FTP
的
基本
信息,以及如何建立
FTP
服务器
ftp
服务器
搭建需要什么硬件,
FTP
服务器
搭建与配置
简介1、
FTP
是什么?
FTP
是文件传输协议(File Transfer Protocal)的简写,主要...匿名访问也就是
FTP
服务器
向公众开放。通常匿名的权限较低,只能下载文件,不能上传文件。2、
FTP
工作
原理
是什么?
FTP
是一种CS架构,也就...
ftp
服务器
的运行模式,
FTP
工作方式及其工作
原理
FTP
(File Transfer Protocol,文件传输协议),是互联网最早的也是最
基本
的网络协议之一。用来将实现从一台电脑传送文件到另一台电脑,或者接收和查看另一台电脑上的文件。今天主要是介绍
FTP
工作方式以及其工作
原理
,...
通信技术
4,358
社区成员
28,927
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章