python FTP伺服器實現(Python3)

2022-09-03 15:27:21 字數 2362 閱讀 4019

建立乙個ftp.py檔案(linux環境),插入以下**:

from pyftpdlib.authorizers import dummyauthorizer

from pyftpdlib.handlers import ftphandler

from pyftpdlib.servers import ftpserver

例項化dummyauthorizer來建立ftp使用者

authorizer = dummyauthorizer()

引數:使用者名稱,密碼,目錄,許可權

authorizer.add_user('test', '12345', '/root/ftp', perm='elradfmwmt')

authorizer.add_user('tese1', '12345', '/root/ftp', perm='elradfmwmt')

匿名登入

authorizer.add_anonymous('/home/nobody')

handler = ftphandler

handler.authorizer = authorizer

引數:ip,埠,handler

server = ftpserver(('172.31.8.88', 21), handler)

server.serve_forever()

檔案儲存

:wq 儲存檔案

執行:root@k8s-node1 ~]# nohup python3 ftp.py &

[1] 1737

[root@k8s-node1 ~]# nohup: 忽略輸入並把輸出追加到"nohup.out"

[root@k8s-node1 ~]# root@k8s-node1 ~]# tail -f nohup.out 

[i 2018-11-30 12:52:03] 172.31.8.3:52635-[test] user 'test' logged in.

[i 2018-11-30 12:57:03] 172.31.8.3:52635-[test] control connection timed out.

[i 2018-11-30 12:57:03] 172.31.8.3:52635-[test] ftp session closed (disconnect).

[i 2018-12-20 09:36:26] >>> starting ftp server on 172.31.8.88:21, pid=1737 <<<

[i 2018-12-20 09:36:26] concurrency model: async

[i 2018-12-20 09:36:26] masquerade (nat) address: none

[i 2018-12-20 09:36:26] passive ports: none

[i 2018-12-20 09:36:49] 172.31.8.3:52150- ftp session opened (connect)

[i 2018-12-20 09:36:52] 172.31.8.3:52150- user 'anonymous' failed login.

[i 2018-12-20 09:36:52] 172.31.8.3:52150- ftp session closed (disconnect).

[i 2018-12-20 09:37:09] 172.31.8.3:52156- ftp session opened (connect)

[i 2018-12-20 09:37:12] 172.31.8.3:52156- user 'test' failed login.

[i 2018-12-20 09:37:12] 172.31.8.3:52156- ftp session closed (disconnect).

[i 2018-12-20 09:37:16] 172.31.8.3:52159- ftp session opened (connect)

[i 2018-12-20 09:37:16] 172.31.8.3:52159-[test] user 'test' logged in.

[i 2018-12-20 09:37:16] 172.31.8.3:52159-[test] ftp session closed (disconnect).

[i 2018-12-20 09:37:16] 172.31.8.3:52160- ftp session opened (connect)

[i 2018-12-20 09:37:16] 172.31.8.3:52160-[test] user 'test' logged in.

[i 2018-12-20 09:40:13] 172.31.8.3:52160-[test] ftp session closed (disconnect).

伺服器實現 如何實現session跨伺服器共享

session共享有多種解決方法,常用的有四種 客戶端cookie儲存 伺服器間session同步 使用集群管理session 把session持久化到資料庫。1.客戶端cookie儲存 以cookie加密的方式儲存在客戶端,每次session資訊被寫在客戶端,然後經瀏覽器再次提交到伺服器,即使兩次...

伺服器實現 FTP伺服器的實現(C語言)

我們在之前的文章中,曾經對ftp檔案傳輸協議做過詳細的介紹。本章,我們對如何用c語言實現ftp伺服器做乙個簡單的介紹。概述 ftp檔案傳輸協議,是網際網路上使用得最廣泛的檔案傳輸協議。ftp提供互動式的訪問,允許客戶指明檔案的格式與型別,並允許檔案具有儲存許可權。ftp遮蔽了不同作業系統之前的細節,...

web伺服器 簡單web伺服器實現

三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...