[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More







The File Transfer Program (FTP) is a standard network protocol used to transfer computer files between a client and server on a computer network. Built on a client-server model architecture, it separates control and data connections between the client and the server. Users may access the server through a sign-in protocol, typically in the form of a username and password.

Share tech news, updates, or what's on your mind.

Sign up to Post

I install FTP tools (Filezilla 0.9.44 server version ) on windows server 2012. Sometimes occurs a error message " Failed to load SSL libraries" message. Our client can't connect to FTP server. Please help me to solve it . Thanks
The IT Degree for Career Advancement
The IT Degree for Career Advancement

Earn your B.S. in Network Operations and Security and become a network and IT security expert. This WGU degree program curriculum was designed with tech-savvy, self-motivated students in mind – allowing you to use your technical expertise, to address real-world business problems.

I have 2 types of files written into a local FTP directory.
Those ending with *.dat extension are good files I want to keep
Those with no extension are junk files I want to delete periodically.

I am looking for a command that will either:
a) delete all files that have no extension
b) delete all files that do not have a *.dat extension
Hi Experts,

We are using freeFTPd as our sftp server and it is working fine. The only problem is when the server is restarted, i does not start automatically. Any suggestion how to start this automatically when the server is restarted? Also any suggestion if there are any better SFTP server which will start automatically after a system reboot?
Thanks in advance.
Hello Ee,

Kinda a weird one . I have a vsftp centos instance running in active mode ( pasv_enable=NO) on I have a powershell script (psftp module) that connects and downloads and uploads some files to the vsftp instance from - windows server 2012. Weird thing is , all of a sudden it stops with "The remote server returned an error: (425) Can't open data connection." now if I use the windows client ftp commands it gives the same 425 . However, if I open the filezilla ftp browser using active mode port 21 it works . If I open another windows cmd and run the ftp commands from another windows instance on same subnet it works. ..Without any known reason , the script and windows cmd ftp will start to  work again after about 30-40 mins being down..

any ideas?
I have an application running on several customers PCs (Delphi XE2 developed).
The application sometimes access a FTP server (hosted by OVH, very reliable)  to download some files.
It works fine on all customer's PCs, ... except, since a couple a days, on one of them.
I could verify that the connection is correctly established but the "get" results in the following error :
Socket error 10054, connection reset by peer
I have asked the customer to retry, after disabling his anti-virus and firewall (I could not very that yet) but the error is the same
What I'm trying to do is create a ftp user that can update and modify files in an apache2 v2.4 (with www-data) web directory.

I have a single user: UserA (names changed to protect the guilty) The folder is /var/www/vhosts; chowned to www-data:www-data UserA has been addded to the www-data group. The UserA's home directory is set to /var/www/vhosts

I have ProFTPd setup and running. UserA connects fine.

The problem is ownership of the folders/files. all files are set to 644 as normal all folders are set to 755.

since UserA is not the owner, it falls under the group policies and files cannot be added, deleted, or modified because of the limitations.

Is there any way to masquerade UserA as www-data so they can perform the job?

Am I thinking of this the right way? is there another way to do it? Thanks The user connects via FTP to the web folder
I've got a question on my SY0-501 Security+ exam with a question to me has an incorrect answer.  The question is
"A security Admin wishes to implement a secure method of file transfer when communicating with outside organizations."

"Which of the following protocols would BEST facilitate secure file transfer? (Select TWO)"

I choose SCP, & FTPS, which according to exam prep is incorrect, it states that TFTP should be used. Is this look correct?  I know TFTP is NOT secure.
I need to provide a SFTP service to let my data providers upload files securely.

Do you know a good and affordable hoster?

I don't feel comfortable opening my servers to the web!
Hello EE,

I recently installed a vsftp instance on centos7 , i have it configured for "active" mode i thought . Initially, it worked great for about 12hours , including from windows ftp client then I get a 425 error about data port and PASV mode on a windows shell ftp client . I need to use the windows ftp client / active mode setting . Below is the current config

# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
# You may override where the log file goes if you like. The default is shown
# below.
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
# You may change the default value for timing out an idle session.
# You may change the default value for timing out a data connection.
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
# By default the server will pretend to allow 

Open in new window

Anyone have a good solution to rename recursively all the files in a directory tree that begin in _ or contain ()!$% etc?  I am trying to start a massive FTP upload but it fails due to the names.  I have already used CMD to recursively remove temp files and such but the ren command doesn't work recursively.
Become a Certified Penetration Testing Engineer
LVL 12
Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

I would like to modify this CuteFTP script so that it automatically overwrites the files in the Destination path...

Currently when I run the VBS script it prompts me if I should overwrite, and I always have to say Yes.... I want to bypass that..

[code][/' VBS Script Generated by CuteFTP (TM) macro recorder.
' Generated at: 10/24/2018 10:10:10 AM.

' Create TEConnection object
Set MySite = CreateObject("CuteFTPPro.TEConnection")

' Initialize remote server host name, protocol, port, etc.
MySite.Host = "host.host.com"
MySite.Protocol = "FTP"
MySite.Port = 21
MySite.Retries = 30
MySite.Delay = 30
MySite.MaxConnections = 4
MySite.TransferType = "AUTO"
MySite.DataChannel = "DEFAULT"
MySite.AutoRename = "OFF"
' WARNING!!! SENSITIVE DATA: user name and password.
MySite.Login = "login1234"
MySite.Password = "password1234"
MySite.SocksInfo = ""
MySite.ProxyInfo = ""
' Connect to remote server
MySite.DownloadAsync "/out", "\\srv\files\Inbound\FTPInbound"code]
I am working on a project where I have to send several files to several different offsite locations.   All the reports will be pushed down to a SFTP server and then I need to automatically transfer these files to 4 different SFTP servers.  this is a daily and monthly occurrence.  I am in need of assistance in creating a script that automates this task.  Currently, I open WinSCP and individually transfer each report to the appropriate folder.   I have found scripts where I should be able to do one report at a time, but I have not found anythng that will do more than one report with a different name at one time.  Is this even possible?
Hello Guys,

I am facing a very strange issue. I am not able to connect to the FTP Site using work PC but able to connect to it using my home PC. I have taken the following steps to resolve the issue:

1. Reboot the COMCAST Business Gateway (from SMC Networks)
2. Verified that no firewall is enabled to block the access
3. Contact COMCAST to verify if their equipment configured correctly, and COMCAST verified that it is configured correctly
4. Contact the FTP Site Hosting Company, they responded that since you are able to access out FTP Site using your home PC so therefore there seems to be no issue
5. Also verified that the our WAN Internet IP Address is NOT on any Blacklist.

This is a very strange issue and need guidance.

Facing a very strange problem from yesterday, suddenly loss connectivity with FTP site with no apparent changes to the PCs and or Firewall settings. Well the strange part is that I can successfully access and upload files from home. First thought the error is on the hosting side and submit a remedy ticket but was told that the possibility is very low since I am able to access the FTP site from home. I also contacted the ISP (Comcast) and the support tech reviewed the Business Gateway Router settings which were also deemed OK...I also did uninstall Norton Security thinking it might be the culprit but the issue remain the same i.e. not able to connect/access FTP site from Office/Work network. Any help and guidance will be appreciated.
I am working on a project where I have to send several files to several different offsite locations.  I send these files via SFTP to their designated server using WINSCP.  Today I have to create a SFTP server so people can send me files.  I choose two routes, I created a SFTP using IIS Manager on a server as well as using Core FTP mini-sftp-server.  I am using WINSCP as the client to see if I can log into the server.  I set up the client using a username and password.  Everytime I log in, I get a messge - Authenticating with pre-entered password. Access denied.  I have no idea why this is saying this.  Can anyone help?
Hi Experts,

I have this PowerShell script but I just want to change the Local Directory (C:/Dir) to a network share lets say \\share\docs\*.* , also I want to make sure the files from the local share folder docs  are copied and are uploaded to the FTP site.  Below is the script, please let me know

#we specify the directory where all files that we want to upload  
#ftp server
$ftp = "ftp://ftp.server.com/dir/
$user = "user"
$pass = "Pass"  
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)  
#list every sql server trace file
foreach($item in (dir $Dir "*.trc")){
    "Uploading $item..."
    $uri = New-Object System.Uri($ftp+$item.Name)
    $webclient.UploadFile($uri, $item.FullName)
I have a program that sends the file via ftp, but this file always gets unwritten permission. How do I make this file always be sent with write permission. Or how do I make the files inside this folder always have write permission?
What are the strings of commands in CUTEFTP to download all files found in a specific remote folder?
Either it can override all local files, or it should only download the latest files it finds which are not on the local folder.
Please, I have these codes in python 2.7 which great in downloading files from the server. How could extend them to add upload using a socket, threading with the ability to list files in server side and user should enter hardcoded username and password before it granted to enter and list files?

the requirements are simple but I'm still beginner ..

Server Code

  import socket
    import threading
    import os

    def RetrFile(name, sock):
    filename = sock.recv(1024)
    if os.path.isfile(filename):
        sock.send("EXISTS " + str(os.path.getsize(filename)))
        userResponse = sock.recv(1024)
        if userResponse[:2] == 'OK':
            with open(filename, 'rb') as f:
                bytesToSend = f.read(1024)
                while bytesToSend != "":
                    bytesToSend = f.read(1024)
        sock.send("ERR ")


def Main():
    host = ''
    port = 5000

    s = socket.socket()


    print "Server Started."
    while True:
        c, addr = s.accept()
        print "client connedted ip:<" + str(addr) + ">"
        t = threading.Thread(target=RetrFile, args=("RetrThread", c))


if __name__ == '__main__':

Open in new window

Client code

import socket

def Main():
    host = ''
    port = 5000

    s = socket.socket()
    s.connect((host, port))

    filename = raw_input("Filename? -> ")
    if filename != 'q':
        data = s.recv(1024)
        if data[:6] == 'EXISTS':
            filesize = long(data[6:])
            message = raw_input("File exists, " + str(filesize) +"Bytes, download? (Y/N)? -> ")
            if message == 'Y':
                f = open('new_'+filename, 'wb')
                data = s.recv(1024)
                totalRecv = len(data)
                while totalRecv < filesize:
                    data = s.recv(1024)
                    totalRecv += len(data)
                    print "{0:.2f}".format((totalRecv/float(filesize))*100)+ "% Done"
                print "Download Complete!"
            print "File Does Not Exist!"


Open in new window

Making Bulk Changes to Active Directory
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

I would like to modify this FTP script below so that it does the following

1. Download any new files to the local directory.  (So the script needs to determine what it downloaded last time, so that it doesn't download it again, unless it it's easier to write the script so as to download everything it sees in the remote directory to the local directory and just overwrite any files which it sees, which is ok as well, in this scenario).

2. Does not delete the previous files from the remote directory.

@echo off

set password=xxxxxxxxxx
set /p password=<%~nx0:password
if not "%password%"=="" goto OK
set /p password=Enter password: 
echo %password%>%~nx0:password

set localdir=\\server1\main\
set remotedir=/out
set ftpserver=xxxxx.xxxxxxxxxxx.com
set username=xxxxxxxx

::del "%localdir%\*.*" /q

call :GetFtpFiles
call :ClearFTPFiles

exit /b

    (echo open %ftpserver%
    echo user %username% %password%
    echo bin
    echo cd %remotedir%
    echo lcd "%localdir%"
    echo mget *.*
    echo quit
    ) | ftp -n -i
    exit /b

    (echo open %ftpserver%
    echo user %username% %password%
    echo cd %remotedir%
    (for /f "tokens=*" %%a in ('dir /b /a-d "%localdir%\*.*"') do @echo dele "%%~a")
    echo quit
    ) | ftp -n -i -d

Open in new window

I have a small VB6 exe file that I have signed using a code signing certificate from GoDaddy.
I signed the file using Micrsofts SignTool.
I put the file on a Windows PC and execute it. No problem. Certificate is valid.
I can run it multiple times, and still valid.

I then I have another program (Access DB) that calls this file using a shell command.
Once it calls that file, it immediately makes the file's certificate invalid: "The Digital Signature Is Invalid"

This VB6 file has never been a problem for years.  I recently had to make a small change to the file. Just one line of code.
BUt the VB6 program loses it's certificate even before it's executed.

I'm stumped.

Note: The VB6 file performs on FTP file download and works fine.
I have a batch file that is used to sftp a file by calling winscp. However if the file exist on the sftp server it does not over write it. Below is the command i am using. Can you tell me how to overwrite the file if it already exists please?
put -nopreservetime -nopermissions L:\PROGRA~1\TCI\RETAIL~1\HQPM\Batch\..\hosttran\export\Shipt\Product\Weis_product*.zip 

Open in new window

I run an SSIS package to create a .txt file on to an FTP server and the delimiter I use is a pipe delimeter:

I have to import this file into a third party too and I get this error message: invalid field count

196      196      Invalid field count: expected 17 fields but found 10      [203822][1][903510001][Accessories][331000][0][Uncertified][5000][1/8/8/0/9/18809622][  Edition Red, White & Blue Crystal Minaudiere]
197      197      Invalid field count: expected 17 fields but found 1      [<BR> Condition: 1]
198      198      Invalid field count: expected 17 fields but found 8      [<][][1][][0][0][37][collection]

I can't use any other delimiter because of the nature of the file. Can you provide any suggestions please
Problem with FTP user isolation in IIS 8.  Users logging into server are going into the localuser folder instead of their own folder.
We are only using this IIS server for FTP. I have created local user accounts with passwords on the server and created folders under the Localuser directory with the same name as the local user account. I gave full control permissions to the user account on that folder.
However, when a user logged in, he went in at the localuser level and did not see any of the other directories, including the folder on his own name.  Any help is greatly appreciated.
Windows Server 2012 R2 Standard with IIS8.
The scenario: Windows server behind a firewall (pFsense) is initiating an FTP connection to an external service. The external service is stating the firewall is passing the internal IP address to their FTP server in the connection setup.

I've reviewed the firewall settings and don't see how the firewall could be doing this. I don't have access to the windows server or the software initiating the connection to review them.

Any suggestions on where to look?







The File Transfer Program (FTP) is a standard network protocol used to transfer computer files between a client and server on a computer network. Built on a client-server model architecture, it separates control and data connections between the client and the server. Users may access the server through a sign-in protocol, typically in the form of a username and password.

Top Experts In