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 reply. This is normal behavior 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 an accurate 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 know your:
public IP address, which can be obtained by accessing https://checkip.amazonaws.com
the advertised download and upload speed of your internet connection in Megabits Per Second (Mbps), which can be obtained at http://www.speedtest.net/
Running a TCP traceroute on Windows
Because Windows cannot natively run TCP traceroute, you must install the WinPcap library, and then download the tracetcp utility.
To install the WinPcap library
Download the WinPcap library.
Double-click on the downloaded executable file to open it and start installation.
Follow the steps in the wizard to install the product.
Next, download tracetcp. Once you’ve downloaded the archive, extract the files from the .zip archive and move them to the C:\WIndows\System32\ folder.
To run 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.
Type the following command:
tracetcp ******************
where ****************** is replaced with your domain name, server name, or IP address.
Examples:
tracetcp <IP>:<Port>
tracetcp subversion.assembla.com:443
tracetcp 12.34.56.78:443Press Enter.
Running a TCP traceroute on Mac OS X
To run a TCP traceroute on Mac OS X
Press command + space to open the Spotlight search box, type Terminal, and then press Enter.
Type the following command into Terminal:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
Press Enter and wait for the command to finish.
Type
brew install tcptraceroute
and wait for the installation to finish.
Now you can use the TCP Traceroute command line tool. Just type sudo tcptraceroute ************
and press Enter.
Note: Replace *************** 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.
Examples:
sudo tcptraceroute <IP> <Port>
sudo tcptraceroute subversion.assembla.com 443
sudo tcptraceroute 12.34.56.78 443
Running a TCP traceroute on Linux
To run a TCP traceroute on Linux
Open Terminal.
Type
sudo traceroute -T -p 1667 *************
.Note: Replace ************** with your domain name, server name, or IP address, and then replace 1667 with the appropriate port.
Press Enter.
Examples:
sudo traceroute -T -p <Port> <IP>
sudo traceroute -T -p 443 subversion.assembla.com
sudo traceroute -T -p 443 12.34.56.78
Need help? Please contact us at support@assembla.com.