社区
通信技术
帖子详情
请问FTP服务器的基本原理是什么?
fantasychina
2004-04-29 09:44:04
请问FTP服务器的基本原理是什么?哪儿有这方面的资料?
...全文
172
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、
FTP服务器
是什么?又有什么作用?
FTP是什么?那
FTP服务器
有时什么?其实这两个是不同的概念,有联系又有区别。对大多数用户来说,基本上没有了解的必要,大多数情况下,只有网管或站长才会实际接触这两个问题。正所谓,多学些知识也无妨,那就随小编一下来学习吧!1、FTPFTP(File Transfer Protocol,文件传输协议),是TCP/IP网络和Internet上最早使用的协议之一。用来将实现从一台电脑传送文件到另一台电脑,...
FTP服务器
的搭建
2)右击网站--添加FTP站点--输入FTP站点名--选择站点物理路径(D:\FTP)1)地址栏访问:快捷键Win+E打开资源管理器,在地址栏输入 ftp://服务器IP地。1)打开服务管理器--管理--添加角色和功能--连续三个下一步--勾选web服务器。(IIS)--连续三个下一步--勾选
FTP服务器
--下一步--安装。--商业版FTP软件(花钱购买)--搭建
FTP服务器
。--开源版FTP软件(不用花钱)--搭建
FTP服务器
。--客户端几乎都是免费的,---访问
FTP服务器
。
用FileZilla搭建本地
FTP服务器
&笔记总结
暂时没设备,闲着没事,重温了一下计算机网络FTP相关的知识,搭建一个本地的
FTP服务器
。 虽然现在我们可以通过微信、QQ等软件进行文件传输,这些软件ftp文件传输软件很少用了,但在互联网发展的早期阶段,用FTP传输的文件约占整个互联网通信量的三分之一,可见学习ftp协议和其他计算机网络的相关知识对我们理解整个互联网有非常重要作用。 根据网上的口碑,FileZilla是一个免费开源的FTP软件,可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效...
FTP服务
2)右击网站--添加FTP站点--输入FTP站点名--选择站点物理路径(D:\FTP)1)打开服务管理器--管理--添加角色和功能--连续三个下一步--勾选web服务器。(IIS)--连续三个下一步--勾选
FTP服务器
--下一步--安装。2)双击用户名--勾选授权用户(可以切换选择:所有/指定/匿名)--商业版FTP软件(花钱购买)--搭建
FTP服务器
。--开源版FTP软件(不用花钱)--搭建
FTP服务器
。--客户端几乎都是免费的,---访问
FTP服务器
。1)双击用户名--勾选读写权限,可以设置权限。
C#中如何实现文件上传到
FTP服务器
C#中如何实现文件上传到
FTP服务器
通信技术
4,395
社区成员
28,907
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章