Unfortunately the packages you will need will depend on a number of circumstances, since some meta-RPMs, such as vmware-tools-esx-nox, explicitly require other RPMs depending on your configuration. I usually sync the entire repository onto a local server as part of my provisioning process.
However there is a manual way to do this, which I will walk you though.
First you need to determine if your system is 32-bit or 64-bit. Log into your system and run either arch or uname -m. This will print the kernel architecture of your system. If the command puts out x86_64 then you're running 64-bit. Otherwise if it says something like i386 or i686 you are running 32-bit.
In a web browser go to https://packages.vmware.com/tools/esx/6.0latest/rhel4/index.html.
If your CentOS system is 32-bit only, go to the i386 folder.
If your CentOS system is 64-bit, go to the x86_64 folder.
Now while this is a bit of a pain, you can click and download all the RPM files (you can ignore the headers and repodata folders) to your system. Then copy them to your CentOS box into any folder of your choosing. For this example we'll put them in /var/tmp/vmware.
Once you have them on your CentOS system in /var/tmp/vmware (or wherever you chose to put them) you can create a local yum repository with the following commands (you must be logged in as root or use sudo):
[root@server ~]# which createrepo || yum -y install createrepo
[root@server ~]# createrepo /var/tmp/vmware
Note: If the first command fails then you don't have have createrepo installed or a basic CentOS repo configured to pull it from, and you should not proceed with the other command. You will need to find your CentOS 4 disc and install createrepo from that, or you can download all the files in the repodata folder from the link above and put them in /var/tmp/vmware/repodata exactly as you downloaded them. This should work since repo definitions are relative.
At this point you will have a local repository that is ready to go, you just need to configure CentOS to use it. Create a file called /etc/yum.repos.d/vmware.repo as shown below:
[vmware-osp]
name=Local VMware OSP repository
baseurl=file:///var/tmp/vmware
enabled=0
gpgcheck=0
Once that is done, issue the following commands to install on your server if it is running X11 (i.e. a GUI desktop)
[root@server ~]# yum --disablerepo=* --enablerepo=vmware-osp install vmware-tools-esx-kmods vmware-tools-esx
Otherwise, if you are running a simple server with no GUI (text console and/or SSH login only):
[root@server ~]# yum --disablerepo=* --enablerepo=vmware-osp install vmware-tools-esx-kmods vmware-tools-esx-nox
That's it. It really isn't that tough usually if you are comfortable with reposync and createrepo. But I have to assume that your CentOS system is not connected to the Internet and doesn't have access to a local yum repo with the CentOS DVD and/or updates. If you are connected to the Internet and you do have a local repo or OS DVD reply back and I'll show you how you can use reposync which will make the above *much* easier. I might also be able to peak at one of my systems and figure out exactly which RPMs you'll need, in which case we can try and manually install the RPMs and avoid the yum repository hassle altogether.
Once you have this solved life will be pretty easy since as I said OSPs are pretty good at forward and backwards compatibility between ESXi releases.