TCP không thể "chịu đựng" mất gói 50%. Nó chỉ đơn giản là sẽ dừng lại, vì một lý do đơn giản: nó điều chỉnh tốc độ truyền của nó dựa trên việc mất các gói. Khi các gói bị mất, chúng được hiểu là chỉ ra tắc nghẽn. Nếu bạn giảm 50% các gói (giả sử với quy tắc tường lửa thả ngẫu nhiên ) bất kể lưu lượng truy cập, nó sẽ thấy tính khả dụng của băng thông ngày càng giảm.
Hơn nữa, tôi nghi ngờ các ISP định hình ICMP so với TCP. Một số có thể làm, vì có một số người thực sự ngu ngốc ngoài kia, nhưng nó không có ý nghĩa gì để làm như vậy. Hầu hết sẽ định hình toàn bộ kết nối, hoặc nó sẽ "tự định hình" vì tắc nghẽn. Trong cả hai trường hợp, các gói thường được bỏ ngẫu nhiên.
Điều đó đang được nói, bạn có thể ping với TCP, nhưng có một số cảnh báo. Đầu tiên là chỉ gửi gói ban đầu trong kết nối TCP, điều này sẽ gợi ra phản hồi từ máy chủ có cổng mở, nhưng sẽ được coi là một nỗ lực kết nối. Lý tưởng nhất là bạn có thể sử dụng dịch vụ "echo" (cổng TCP 7) ... nhưng thực tế bạn không thể bởi vì giờ đây nó bị vô hiệu hóa ở mọi nơi. Dù sao, nếu bạn có thể nhờ ai đó kích hoạt nó cho bạn trên máy bạn muốn kiểm tra, một chương trình có thể sử dụng điều đó để kiểm tra thời gian quay vòng cho các gói trong kết nối TCP.
Điều đó đang được nói, bạn có thể có lệnh "tracepath" được cài đặt trên máy của bạn; nó tương tự như traceroute nhưng không sử dụng TCP hoặc ICMP, mà là UDP. Đối với TCP có nhiều tiện ích khác nhau, bạn có thể thử hping .