The first step to troubleshooting any connectivity issue is to understand the path that packets take on their way to the destination hostname or IP address. To do this, we obtain a Traceroute.
A traceroute is gathered by sending a packet to a target host with a Time To Live increasing by 1 until the destination host is reached.
Note that not all 'hops' along a route will reply - this is normal and should not be interpreted as a bad route.
In the case of Perforce, Subversion and Git, the protocol used is TCP; however, traditional traceroutes on Windows, Mac and Linux use the ICMP or UDP protocols. This means that a traditional traceroute may not give the real picture as to what's happening with repository traffic.
For this reason, when working with our support team to troubleshoot a connectivity issue, we find it best to have a TCP Traceroute.
It's also quite helpful for our team to also know your public IP address ( which can be obtained by accessing https://checkip.amazonaws.com ) as well as the advertised download and upload speed of your internet connection in Megabits Per Second (Mbps), which can be obtained at http://www.speedtest.net/
Because Windows cannot natively run TCP traceroute, you will need to install the WinPcap library and download the tracetcp utility.
Installing the WinPcap library:
- Download the WinPcap library
- Double-click on the downloaded executable file open it and start installation
- Click the Next button on the WinPcap Setup Wizard page:
4. Review the License agreement and click I Agree
5. On the next page click Install
Next, we’ll need to download tracetcp
Once you’ve downloaded the archive, extract the files from the .zip archive and move them to the C:\WIndows\System32\ folder
Running a TCP Traceroute on Windows (tracetcp):
- Open the Command Prompt (CMD) by pressing Win + R
- In the run dialog box, type cmd and click OK
3. Type the following command:
Where ****************** is replaced with your domain name, server name, or IP address
4. Press enter
Running a TCP Traceroute on Mac OS X
1. Press command + space to open the Spotlight search box, then type Terminal and press enter
2. Type the following command into Terminal:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
Then press enter and wait for the command to finish
brew install tcptraceroute and wait for the installation to be finished
4. You’re done! Now you can use the TCP Traceroute command line tool. Just type
sudo tcptraceroute ************ and press enter
Note: *************** should be replaced with your domain name, server name, or IP address, followed by a space and then the destination port number.
Note: When executing this command, enter the password for the administrator account you are logged in as when prompted.
sudo tcptraceroute <IP> <Port>
sudo tcptraceroute subversion.assembla.com 443
sudo tcptraceroute 126.96.36.199 443
Running a TCP Traceroute on Linux
1. Open Terminal
sudo traceroute -T -p 1667 *************
Note: ************** should be replaced with your domain name, server name, or IP address, and 1667 should be replaced with the appropriate port
3. Press enter
sudo traceroute -T -p <Port> <IP>
sudo traceroute -T -p 443 subversion.assembla.com
sudo traceroute -T -p 443 188.8.131.52
Need help? Please contact us at firstname.lastname@example.org.