ftp文件過濾
㈠ 防火牆的功能是什麼
從防火牆產品和技術發展來看,分為三種類型:基於路由器的包過濾防火牆、基於通用操作系統的防火牆、基於專用安全操作系統的防火牆。
LAN介面
列出支持的 LAN介面類型:防火牆所能保護的網路類型,如乙太網、快速乙太網、千兆乙太網、ATM、令牌環及FDDI等。
支持的最大 LAN介面數:指防火牆所支持的區域網絡介面數目,也是其能夠保護的不同內網數目。
伺服器平台:防火牆所運行的操作系統平台(如 Linux、UNIX、Win NT、專用安全操作系統等)。
協議支持
支持的非 IP協議:除支持IP協議之外,又支持AppleTalk、DECnet、IPX及NETBEUI等協議。
建立 VPN通道的協議: 構建VPN通道所使用的協議,如密鑰分配等,主要分為IPSec,PPTP、專用協議等。
可以在 VPN中使用的協議:在VPN中使用的協議,一般是指TCP/IP協議。
加密支持
支持的 VPN加密標准:VPN中支持的加密演算法, 例如數據加密標准DES、3DES、RC4以及國內專用的加密演算法。
除了 VPN之外,加密的其他用途: 加密除用於保護傳輸數據以外,還應用於其他領域,如身份認證、報文完整性認證,密鑰分配等。
提供基於硬體的加密: 是否提供硬體加密方法,硬體加密可以提供更快的加密速度和更高的加密強度。
認證支持
支持的認證類型: 是指防火牆支持的身份認證協議,一般情況下具有一個或多個認證方案,如 RADIUS、Kerberos、TACACS/TACACS+、口令方式、數字證書等。防火牆能夠為本地或遠程用戶提供經過認證與授權的對網路資源的訪問,防火牆管理員必須決定客戶以何種方式通過認證。
列出支持的認證標准和 CA互操作性:廠商可以選擇自己的認證方案,但應符合相應的國際標准,該項指所支持的標准認證協議,以及實現的認證協議是否與其他CA產品兼容互通。
支持數字證書:是否支持數字證書。
訪問控制
通過防火牆的包內容設置:包過濾防火牆的過濾規則集由若干條規則組成,它應涵蓋對所有出入防火牆的數據包的處理方法,對於沒有明確定義的數據包,應該有一個預設處理方法;過濾規則應易於理解,易於編輯修改;同時應具備一致性檢測機制,防止沖突。 IP包過濾的依據主要是根據IP包頭部信息如源地址和目的地址進行過濾,如果IP頭中的協議欄位表明封裝協議為ICMP、TCP或UDP,那麼再根據 ICMP頭信息(類型和代碼值)、TCP頭信息(源埠和目的埠)或UDP頭信息(源埠和目的埠)執行過濾,其他的還有MAC地址過濾。應用層協議過濾要求主要包括ftp過濾、基於RPC的應用服務過濾、基於UDP的應用服務過濾要求以及動態包過濾技術等。
在應用層提供代理支持:指防火牆是否支持應用層代理,如 HTTP、FTP、TELNET、SNMP等。代理服務在確認客戶端連接請求有效後接管連接,代為向伺服器發出連接請求,代理伺服器應根據伺服器的應答,決定如何響應客戶端請求,代理服務進程應當連接兩個連接(客戶端與代理服務進程間的連接、代理服務進程與伺服器端的連接)。為確認連接的唯一性與時效性,代理進程應當維護代理連接表或相關資料庫(最小欄位集合),為提供認證和授權,代理進程應當維護一個擴展欄位集合。
在傳輸層提供代理支持:指防火牆是否支持傳輸層代理服務。
允許 FTP命令防止某些類型文件通過防火牆:指是否支持FTP文件類型過濾。
用戶操作的代理類型:應用層高級代理功能,如 HTTP、POP3 。
支持網路地址轉換 (NAT):NAT指將一個IP地址域映射到另一個IP地址域,從而為終端主機提供透明路由的方法。NAT常用於私有地址域與公有地址域的轉換以解決IP 地址匱乏問題。在防火牆上實現NAT後,可以隱藏受保護網路的內部結構,在一定程度上提高了網路的安全性。
支持硬體口令、智能卡: 是否支持硬體口令、智能卡等,這是一種比較安全的身份認證技術。
防禦功能
支持病毒掃描: 是否支持防病毒功能,如掃描電子郵件附件中的 DOC和ZIP文件,FTP中的下載或上載文件內容,以發現其中包含的危險信息。
提供內容過濾: 是否支持內容過濾,信息內容過濾指防火牆在 HTTP、FTP、SMTP等協議層,根據過濾條件,對信息流進行控制,防火牆控制的結果是:允許通過、修改後允許通過、禁止通過、記錄日誌、報警等。過濾內容主要指URL、HTTP攜帶的信息:java Applet、 JavaScript、ActiveX和電子郵件中的Subject、To、From域等。
能防禦的 DoS攻擊類型:拒絕服務攻擊(DoS)就是攻擊者過多地佔用共享資源,導致伺服器超載或系統資源耗盡,而使其他用戶無法享有服務或沒有資源可用。防火牆通過控制、檢測與報警等機制,可在一定程度上防止或減輕DoS黑客攻擊。
阻止 ActiveX、Java、Cookies、Javascript侵入:屬於HTTP內容過濾,防火牆應該能夠從HTTP頁面剝離Java Applet、ActiveX等小程序及從Script、PHP和ASP等代碼檢測出危險代碼或病毒,並向瀏覽器用戶報警。同時,能夠過濾用戶上載的 CGI、ASP等程序,當發現危險代碼時,向伺服器報警。
安全特性
支持轉發和跟蹤 ICMP協議(ICMP 代理):是否支持ICMP代理,ICMP為網間控制報文協議。
提供入侵實時警告:提供實時入侵告警功能,當發生危險事件時,是否能夠及時報警,報警的方式可能通過郵件、呼機、手機等。
提供實時入侵防範:提供實時入侵響應功能,當發生入侵事件時,防火牆能夠動態響應,調整安全策略,阻擋惡意報文。
識別 /記錄/防止企圖進行IP地址欺騙:IP地址欺騙指使用偽裝的IP地址作為IP包的源地址對受保護網路進行攻擊,防火牆應該能夠禁止來自外部網路而源地址是內部IP地址的數據包通過。
管理功能
通過集成策略集中管理多個防火牆:是否支持集中管理,防火牆管理是指對防火牆具有管理許可權的管理員行為和防火牆運行狀態的管理,管理員的行為主要包括:通過防火牆的身份鑒別,編寫防火牆的安全規則,配置防火牆的安全參數,查看防火牆的日誌等。防火牆的管理一般分為本地管理、遠程管理和集中管理等。
提供基於時間的訪問控制:是否提供基於時間的訪問控制。
支持 SNMP監視和配置:SNMP是簡單網路管理協議的縮寫。
本地管理:是指管理員通過防火牆的 Console口或防火牆提供的鍵盤和顯示器對防火牆進行配置管理。
遠程管理:是指管理員通過乙太網或防火牆提供的廣域網介面對防火牆進行管理,管理的通信協議可以基於 FTP、TELNET、HTTP等。
支持帶寬管理:防火牆能夠根據當前的流量動態調整某些客戶端佔用的帶寬。
負載均衡特性:負載均衡可以看成動態的埠映射,它將一個外部地址的某一 TCP或UDP埠映射到一組內部地址的某一埠,負載均衡主要用於將某項服務(如HTTP)分攤到一組內部伺服器上以平衡負載。
失敗恢復特性( failover):指支持容錯技術,如雙機熱備份、故障恢復,雙電源備份等。
記錄和報表功能
防火牆處理完整日誌的方法:防火牆規定了對於符合條件的報文做日誌,應該提供日誌信息管理和存儲方法。
提供自動日誌掃描:指防火牆是否具有日誌的自動分析和掃描功能,這可以獲得更詳細的統計結果,達到事後分析、亡羊補牢的目的。
提供自動報表、日誌報告書寫器:防火牆實現的一種輸出方式,提供自動報表和日誌報告功能。
警告通知機制:防火牆應提供告警機制,在檢測到入侵網路以及設備運轉異常情況時,通過告警來通知管理員採取必要的措施,包括 E-mail、呼機、手機等。
提供簡要報表(按照用戶 ID或IP 地址):防火牆實現的一種輸出方式,按要求提供報表分類列印。
提供實時統計:防火牆實現的一種輸出方式,日誌分析後所獲得的智能統計結果,一般是圖表顯示。
列出獲得的國內有關部門許可證類別及號碼:這是防火牆合格與銷售的關鍵要素之一,其中包括:公安部的銷售許可證、國家信息安全測評中心的認證證書、總參的國防通信入網證和國家保密局的推薦證明等。
㈡ 哪個FTP上傳工具可以自動過濾掉沒有更新的內容拜託各位大神
哎呀,打了老半天的字,原來自己答非所問....目前沒你說的這種FTP工具....你當它是神啊,知道你哪些更新了,哪些沒有更新啊....推薦你一款最好的FTP工具吧"CuteFTP8"也不知道你現在用的是不是這一種...
希望採納
㈢ FTP到底是干什麼的,具體有什麼功能!
分類: 電腦/網路 >> 操作系統/系統故障
問題描述:
我對FTP具體功能一點也不了解,麻煩請具體講解下,並說明下如何操作使用!
解析:
1.什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Inter文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。
2.FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
3.ftp工具,就是專門用來進行FTP上傳下載的工具。常用FTP工具有:
CuteFTP Pro :CuteFTP Pro是一個全新的商業級FTP客戶端程序,其加強的文件傳輸系統能夠完全滿足今天的商家們的應用需求。這里文件通過構建於SSL或SSH2安全認證的客戶機/伺服器系統進行傳輸,為VPN、WAN、Extra開發管理人員提供最經濟的解決方案!企業再不需要為了一套安全的數據傳輸系統而進行破費了。此外,CuteFTP Pro還提供了Sophisticated Scripting、目錄同步、自動排程、同時多站點連接、多協議支持(FTP、SFTP、HTTP、HTTPS)、智能覆蓋、整合的HTML編輯器等功能特點以及更加快速的文件傳輸系統。
LeapFTP:一款被多家網站評估為五星級、功能強大、能媲美BulletProof FTP的FTP軟體。跟Netscape相仿的書簽形式,連線更加方便。下載與上傳文件支持續傳。可下載或上傳整個目錄,亦可直接刪除整個目錄。可讓你編列順序一次下載或上傳同一站台中不同目錄下的文件。瀏覽網頁時若在文件連結上按滑鼠右鍵選[復制捷徑]便會自動下載該文件。具有不會因閑置過久而被站台踢出的功能。可直接編輯遠端Server上的文件。可設定文件傳送完畢自動中斷Modem連接。
FlashFXP:功能強大的 FXP / FTP 軟體,融合了一些其他優秀 FTP 軟體的優點,如像 CuteFTP 一樣可以比較文件夾,支持彩色文字顯示;像 BpFTP 支持多文件夾選擇文件,能夠緩存文件夾;像 LeapFTP一樣的外觀界面,甚至設計思路也差相彷彿。支持文件夾(帶子文件夾)的文件傳送、刪除;支持上傳、下載及第三方文件續傳;可以跳過指定的文件類型,只傳送需要的文件;可以自定義不同文件類型的顯示顏色;可以緩存遠端文件夾列表,支持FTP 代理及 Socks 3 & 4;具有避免空閑功能,防止被站點踢出;可以顯示或隱藏「隱藏」屬性的文件、文件夾;支持每個站點使用被動模式等。!
TurboFTP:一款絕對老牌的FTP傳輸工具。它支持斷線自動重新連接並自動恢復傳輸,文件列表過濾,遠程編輯,整個遠端目錄刪除,目錄上傳下載,斷點續傳, 多達八種的代理伺服器,完成傳送後自動掛線或關機,方便的 FTP 站點地址薄,等等。
ChinaFTP:ChinaFTP是一款完全由國人開發的免費的FTP客戶端軟體,軟體支持對文件傳輸的所有操作,支持MSDOS和Unix兩種目錄結構。ChinaFTP與伺服器的交互快,文件傳輸速度快,支持整個目錄及子目錄的上傳,軟體包含站點管理,方便用戶對所訪問的站點進行訪問保存,無需每次訪問時都輸入伺服器名、用戶名和密碼。簡單的操作和方便的管理,軟體界面清晰,左側為本地磁碟文件,右側為FTP文件伺服器。文件上傳下載顯示進度查看、已傳送位元組、傳輸速度顯示、伺服器狀態顯示等。
AceFTP Pro:相當強大且好用的FTP軟體,使用者只需以軟體本身的浮動按鈕即會操作,它提供多文件下載,且可同時至多個Sever下載,使用者更可邊上FTP下載文件,邊瀏覽網頁一個FTP軟體,結合了瀏覽器與FTP的功能,它可以在下載或上傳文件之前先預覽 GIF、JPG和 HTML的文件,並且你可以在同一個視窗下開啟多個遠端的目錄或是登入多個遠端的FTP伺服器,你也可以直接輸入欲下載文件的位址來下載文件,支持 FTP 和 HTTP。
EmFTP Pro:EmFTP 是一個易於使用的,高品質的 FTP 客戶端軟體。EmFTP 是共享軟體。EmFTP 可以與 EmEditor (Windows 下很好用的一個文本編輯器)很好的結合在一起。如果你已安裝 EmEditor,你可以直接編輯一個伺服器上的文件,就像編輯一個本地文件一樣。同樣,你可以可以非常容易的從其他客戶端中導入設置,例如:FFFTP、Inter Explorer、WS_FTP。 同步上傳功能可以直接復制本地文件夾的正確結構到伺服器上。
以上幾個軟體下載地址,請參考網頁bbs.zj.chinav/topic_show.jsp?id=1463289&oldpage=1&thesisid=45&flag=topic1
㈣ ftp的路徑怎麼設置
問一下,你是想做ftp上傳下載么?
首先你需要安裝一個ftp服務端程序,啟動起來,然後下載一個ftp客戶端程序,測試能不能連接,首先這一塊兒需要測試通過。
代碼ftp上傳下載
2.1 上傳代碼:
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class test {
private FTPClient ftp;
/**
*
* @param path 上傳到ftp伺服器哪個路徑下
* @param addr 地址
* @param port 埠號
* @param username 用戶名
* @param password 密碼
* @return
* @throws Exception
*/
private boolean connect(String path,String addr,int port,String username,String password) throws Exception {
boolean result = false;
ftp = new FTPClient();
int reply;
ftp.connect(addr,port);
ftp.login(username,password);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
ftp.changeWorkingDirectory(path);
result = true;
return result;
}
/**
*
* @param file 上傳的文件或文件夾
* @throws Exception
*/
private void upload(File file) throws Exception{
if(file.isDirectory()){
ftp.makeDirectory(file.getName());
ftp.changeWorkingDirectory(file.getName());
String[] files = file.list();
for (int i = 0; i < files.length; i++) {
File file1 = new File(file.getPath()+"\\"+files[i] );
if(file1.isDirectory()){
upload(file1);
ftp.changeToParentDirectory();
}else{
File file2 = new File(file.getPath()+"\\"+files[i]);
FileInputStream input = new FileInputStream(file2);
ftp.storeFile(file2.getName(), input);
input.close();
}
}
}else{
File file2 = new File(file.getPath());
FileInputStream input = new FileInputStream(file2);
ftp.storeFile(file2.getName(), input);
input.close();
}
}
public static void main(String[] args) throws Exception{
test t = new test();
t.connect("", "localhost", 21, "yhh", "yhhazr");
File file = new File("e:\\uploadify");
t.upload(file);
}
}
2.2 下載代碼
這里沒有用到filter,如果用filter就可以過濾想要的文件。
public class Ftp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Ftp ftp = new Ftp();
String hostname = "www.strawberry.com";
Integer port = 21;
String username = "username";
String password = "password";
String remote = "/c.txt";
String local = "/home/tin/LeonChen/FTP/";
try {
ftp.connect(hostname, port, username, password);
System.out.println("接收狀態:"+ftp.download(remote, local));
ftp.disconnect();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private FTPClient ftpClient = new FTPClient();
/*
* * 連接到FTP伺服器
* * @param hostname 主機名
* * @param port 埠
* * @param username 用戶名
* * @param password 密碼
* * @return 是否連接成功
* * @throws IOException
*/
private boolean connect(String hostname, int port, String username,
String password) throws IOException {
ftpClient.connect(hostname, port);
ftpClient.setControlEncoding("UTF-8");
if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
if (ftpClient.login(username, password)) {
return true;
}
}
disconnect();
return false;
}
/*
* 從FTP伺服器上下載文件,支持斷點續傳,上傳百分比匯報
*
* @param remote 遠程文件路徑
*
* @param local 本地文件路徑
*
* @return 上傳的狀態
*
* @throws IOException
*/
public DownloadStatus download(String remote, String local)
throws IOException {
// 設置被動模式
ftpClient.enterLocalPassiveMode();
// 設置以二進制方式傳輸
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
DownloadStatus result;
// 檢查遠程文件是否存在
FTPFile[] files = ftpClient.listFiles(new String(remote
.getBytes("UTF-8"), "iso-8859-1"));
if (files.length != 1) {
System.out.println("遠程文件不存在");
return DownloadStatus.Remote_File_Noexist;
}
long lRemoteSize = files[0].getSize();
String fildName = files[0].getName();
// 本地存在文件,進行斷點下載
File f = new File(local+fildName);
if (f.exists()) {
long localSize = f.length();
if (localSize >= lRemoteSize) {
System.out.println("本地文件大於遠程文件,下載中止");
return DownloadStatus.Local_Bigger_Remote;
}
// 進行斷點續傳,並記錄狀態
FileOutputStream out = new FileOutputStream(f, true);
ftpClient.setRestartOffset(localSize);
InputStream in = ftpClient.retrieveFileStream(new String(remote.getBytes("UTF-8"), "iso-8859-1"));
byte[] bytes = new byte[1024];
long step = lRemoteSize / 100;
long process = localSize / step;
int c;
while ((c = in.read(bytes)) != -1) {
out.write(bytes, 0, c);
localSize += c;
long nowProcess = localSize / step;
if (nowProcess > process) {
process = nowProcess;
if (process % 10 == 0)
System.out.println("下載進度:" + process);
// TODO 更新文件下載進度,值存放在process變數中
}
}
in.close();
out.close();
boolean isDo = ftpClient.completePendingCommand();
if (isDo) {
result = DownloadStatus.Download_From_Break_Success;
} else {
result = DownloadStatus.Download_From_Break_Failed;
}
} else {
OutputStream out = new FileOutputStream(f);
InputStream in = ftpClient.retrieveFileStream(new String(remote.getBytes("UTF-8"), "iso-8859-1"));
byte[] bytes = new byte[1024];
long step = lRemoteSize / 100;
long process = 0;
long localSize = 0L;
int c;
while ((c = in.read(bytes)) != -1) {
out.write(bytes, 0, c);
localSize += c;
long nowProcess = localSize / step;
if (nowProcess > process) {
process = nowProcess;
if (process % 10 == 0)
System.out.println("下載進度:" + process);
// TODO 更新文件下載進度,值存放在process變數中
}
}
in.close();
out.close();
boolean upNewStatus = ftpClient.completePendingCommand();
if (upNewStatus) {
result = DownloadStatus.Download_New_Success;
} else {
result = DownloadStatus.Download_New_Failed;
}
}
return result;
}
private void disconnect() throws IOException {
if (ftpClient.isConnected()) {
ftpClient.disconnect();
}
}
}
㈤ FTP上傳文件過濾的問題
8UFTP真正的綠色版,在線即可操作,經360安全認證檢測,各大軟體站極力推薦。