當前位置:首頁 » 文件傳輸 » 自己寫ftp如何控制數據埠
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

自己寫ftp如何控制數據埠

發布時間: 2023-08-03 19:39:13

『壹』 C++編寫ftp伺服器時,Ftp伺服器與客服端建立連接之後,怎麼協商數據傳輸埠(程序實現)

當用accept函數與客戶端請求建立連接之後,accept函數將自動新建一個套接字(假設為s2),這個新建的套接字和客戶端相連接並收發數據,而原來在監聽狀態的套接字(假設為s1)仍然處於監聽狀態,以便接受下一個連接請求。在accept函數返回s2之前,bind、listen、accept都是針對s1進行的。而accept函數返回s2之後的send和recv都是針對s2.

至於代碼,想深究的話,建議去看看"tcp/ip詳解"第二卷

『貳』 如何禁止FTP,如何封堵FTP,FTP通訊協議和埠范圍

添加防火牆入站規則,
windows上禁止20、21兩個埠就可以了。
linux上,還有22埠是給ssh工具用的,如果也想阻止,就一起禁止掉。

『叄』 如何修改 ftp 埠

怎樣修改SSH和FTP的登錄埠

LINUX 的默認SSH 埠是 22。為了防止別人暴力破解(這年頭無聊的菜鳥黑客太多),建議修改SSH 訪問埠:
第一步:
[[email protected] ~]#vim /etc/ssh/sshd_config
找到#Port 22一段,這里是標識默認使用22埠,修改為如下:
Port 22
Port 3456

注意:先不要刪除Port 22,以免發生意外無法登錄。

保存退出,然後執行/etc/init.d/sshd restart(或/etc/init.d/ssh restart,或service sshd restart),重啟SSH服務,這樣SSH埠將同時工作與22和3456上。測試成功後再關閉22埠。
如果沒有啟用防火牆或者防火牆沒有屏蔽埠,就可以直接測試新埠是否可用了。

如果打開了iptables,則執行第二步:

編輯防火牆配置:vi /etc/sysconfig/iptables 開放 3456埠

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3456 -j ACCEPT

然後執行/etc/init.d/iptables restart

第三步:
使用ssh工具連接3456埠,來測試是否成功。
如果連接成功了,則再次編輯sshd_config的設置,將里邊的Port 22 刪除即可。

最後,別忘了重啟SSH服務哦。

修改FTP埠相對要復雜一些,主要是因為FTP軟體太多,啟動方式也不一樣。

第一種情況:vsftpd

步驟:1.修改/etc/services文件

# vi /etc/services

將21/tcp修改為20129/tcp (20129是你自己想要的埠號,可以隨便修改,不過必須注意:埠號最大為65535。)

2.修改(新增)FTP配置文件vsftpd.conf

# vi /etc/vsftpd/vsftpd.conf

如果文件中有Listen_port=21,則將21修改為2021,

否則添加一行Listen_port=2021

3.啟動TFP服務

# service vsftpd restart

4.檢查TFP服務

# service vsftpd status

第二種情況:FTP集成在Kloxo之中。Kloxo是一整套的伺服器模塊,其中一個是FTP。您不能改變對Kloxo管理控制面板的伺服器配置。默認情況下Kloxo使用pureftp作為FTP伺服器,xinetd的作為協助進程啟動FTP服務。

步驟:1,登錄使用root的SSH訪問。
您的pureftp配置是在/etc/xinetd.d/pureftp,這個文件的第一行就是ftp的服務,一般不需修改。

2,打開/etc/services 編輯,找到這些行:
ftp 21/tcp
ftp 21/udp fsp fspd
將其修改成這樣:
ftp 20129/tcp
ftp 20129/udp fsp fspd
保存文件並退出。

3,重新啟動xinetd:
service xinetd restart

檢查所有的監聽埠:
netstat -an | grep LISTEN

如果已沒有偵聽埠21,而是發現埠20129
tcp 0 0 0.0.0.0:20129 0.0.0.0:* LISTEN
則應該就算成功了。當然,你應該馬上通過您的FTP客戶端來測試一下,不要忘記使用新埠哦!

第三種情況:LNMP集成pureftp

這種情況應該修改 /usr/local/pureftpd/pure-ftpd.conf

找到其中的

#Bind 127.0.0.1,21
修改為:
Bind 127.0.0.1,20129

有的時候這樣也不行,那就將127.0.0.1刪掉,改為

Bind ,20129

然後重啟ftp服務 /etc/init.d/pureftpd restart

『肆』 ftp的三種埠模式都是哪些如何工作的

FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。

FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。

1. PORT(主動)方式的連接過程是:
客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。

2. PASV(被動)方式的連接過程是:
客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。

概括:
--------------------------------------------------------------------------------
主動模式:伺服器向客戶端敲門,然後客戶端開門
被動模式:客戶端向伺服器敲門,然後伺服器開門
所以,如果你是如果通過代理上網的話,就不能用主動模式,因為伺服器敲的是上網代理伺服器的門,而不是敲客戶端的門
而且有時候,客戶端也不是輕易就開門的,因為有防火牆阻擋,除非客戶端開放大於1024的高端埠

--------------------------------------------------------------------------------
3.單埠模式
除上述兩種模式之外,還有一種單埠模式。該模式的數據連接請求由FTP伺服器發起。使用該傳輸模式時,客戶端的控制連接埠和數據連接埠一致。因為這種模式無法在短時間連續輸入數據、傳輸命令,因此並不常用。

『伍』 如何指定ftp客戶端的埠

進入「控制面板」->「程序」->"打開或關閉Windows功能",找到「Internet信息服務」選項。
將「Internet信息服務」選項勾選,確定,計算機開始開啟服務,需要等待一段時間。這時打開了「FTP伺服器」,「Web管理工具」中的「IIS管理控制台」和「萬維網服務」下的全部服務(該服務可能需要重啟計算機才能生效)。
右擊「計算機」,點擊「管理」。

點擊「服務和應用程序」->「Internet信息服務(IIS)管理器」,右擊「網站」,點擊「添加FTP站點」。

添加站點名稱和選擇Ftp站點根目錄物理路徑。
IP地址選擇本機IP,埠可以自行設定(為了安全最好不要使用默認埠21);SSL選擇「允許」,然後下一步。
身份驗證選擇「基本」,授權選擇「所有用戶」(即這台計算機現存的所有有效賬戶都可登錄),許可權設置「讀取」(即只可以從ftp下載文件,不可以上傳文件,想要設置上傳許可權需要選擇「寫入」),點擊「完成」。
在管理控制台在網站下可以看到新產生的Ftp站點,點擊網站可以看到站點相關信息,想要登錄ftp可能需要重啟計算機。
打開Windows資源管理器或者瀏覽器輸入「ftp://IP:Port」,彈出登錄對話框。
輸入有效地用戶賬號和密碼,進行登錄,在Ftp根目錄:E:\Ftp\Download 下有一個 測試.txt 文本文件,可以看到成功登錄Ftp之後顯示該文件。可以通過復制然後將文件粘貼到本地計算機進行文件下載。
添加專門進行FTP操作的用戶組和用戶。
在管理控制台,點擊「用戶」,右擊空白區域點擊「新用戶」,創建新用戶。
輸入用戶名和密碼,取消「用戶下次登錄時須更改密碼」,選擇「用戶不能更改密碼」和「密碼永不過期」,點擊創建,新建用戶名為Download的用戶。
新建的用戶都默認屬於 Users 組,可以通過該用戶和密碼登錄計算機,因此為不使該用戶具有登錄計算機等普通用戶的許可權,從 Users組中刪除 Download成員。
然後右擊右側空白區域,點擊「新建組」,輸入組名稱和描述信息,然後點擊「添加」,添加成員。
進入選擇用戶對話框,點擊「高級」,在新彈出對話框中選擇「立即查找」,從搜索結果中找到Download,點擊確定,再確定。
然後在成員欄中出現Download,點擊「創建」,成功創建用戶組並將Download用戶添加至用戶組 「Ftp Users」。
只允許特定用戶訪問FTP。
點擊網站下Ftp站點,雙擊「授權規則」此時FTP允許所有用戶登錄。
雙擊「所有用戶」,選擇「指定的角色或用戶組」,輸入成員Download,確定,則目前只有Download可以登錄FTP。
重啟FTP,可能還需要重啟計算機使得配置生效,現在只有用戶名Download可以登錄FTP,並且該用戶名無法登錄計算機或進行其他操作。可以通過測試設置查看連接測試結果。

『陸』 linux ftp埠怎麼設置

1、先查看下有沒安裝FTP軟體rpm -qa vsftpd。

注意事項:

FTP 的目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。它能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。