Who doesn´t know the situation that you need to copy a single file from your local computer to an ESXi host or vice versa, but your firewall is blocked, ssh disabled or scp is just damn slow.

Funny enough, there is a simple yet powerful way of copying data from any system to any system, not just ESXi. It might even run on a mobile?!?

The only thing you need is a standard python installation as the required library comes automatically with it.

But here is the command: 

python -m SimpleHTTPServer

Looks simple, right! That command opens up a low weight HTTP server that starts with its root folder within the directory the command is started. 

data transfer for VMware ESXi - start HTTP server

Port Warning 8000

I use port 8000 in this example as this port is used for vMotion and therefore mostly opened and permitted within the built in ESXi firewall at any time. Please make sure to check, that you use a port that is not used by any other service at the same time (you can expect an error message, that the port is in use) and that there is no vMotion process ongoing or planned while having this server active. In our demo environment vMotion is not possible, therefore I don´t expect any vMotion transfer, yet the port is always open.

To be on the safe side, you should open and use a different port, like 57007, that is less common to be used.

Firewall ESXi

Start the server

That means, if start python -m SimpleHTTPServer 8000 while within the /usr folder, I can access all files and traverse into all subdirectories. Clicking on a directory lets me walk into it, clicking a file downloads or opens it in the browser. There is no authentication needed and the server runs under the permissions of the logged in user that starts the command.

Access filesystem using HTTP Server


  • no installation needed for most linux based systems
  • very versatile
  • secure, when used on demand
  • extremely fast data transfer

As there is no network protocol encryption done during the whole communication and the http server very lightweight, the data transfer is extremely fast. Compared to SCP data transfer you can easy reach 5-10 times speed improvements.


As you open up an incoming port you need to make sure, that there is no firewall blocking that port on the system the python command is started. Furthermore, to start the command you need to have access to SSH on your ESXi host.


Of course, you should never run that server continuously or even permanent as it opens up a massive security leak (cleartext and no authentication). But used temporary to copy some files and closed afterwards is perfect.


Save energy without reducing VM performance in your VMware vSphere cluster
16 August 2022
Over the last couple of decades energy consumption went up massively in every data center and while the…
Metrics & Logs support for IoT - Bringing Secure Monitoring and Logging to the Edge
7 July 2022
Simple uptime monitoring for Internet-of-Things (IoT) is well-known and requires knowing if the devices are up and running.…
Monitoring Azure SQL Managed Instance with Opvizor Metrics & Logs
17 January 2022
When you have critical applications and business processes that rely on Azure resources, it's critical to keep an…

White Paper — Registration

You will receive the research paper by mail.

Codenotary — Webinar

White Paper — Registration

Please let us know where we can send the whitepaper on Codenotary Trusted Software Supply Chain. 

Become a partner

Start Your Trial

Please enter contact information to receive an email with the virtual appliance download instructions.

Start Free Trial

Please enter contact information to receive an email with the free trial details.

Subscribe to our newsletter