TCP에 대한 핑 대안? 이 질문과 그 답변은

대기 시간, 손실 된 패킷 수 등 네트워크 ‘품질’을 확인하는 것이 일반적인 작업입니다. 그러나 ‘핑’에는 여러 가지 단점이 있습니다.-ICMP를 사용합니다. 많은 ISP가 ICMP 및 TCP 트래픽에 대해 다른 셰이퍼를 가지고 있으므로 ‘ping’은 10ms 대기 시간을 표시하지만 TCP 연결은 1000ms 이상을 경험합니다. -매우 적은 양의 패킷을 보냅니다. 기본적으로 초당 1 개의 패킷. TCP 프로토콜은 패킷 손실을 허용하므로 (패킷 손실이 절반이면 정상으로 작동합니다.) 핑의 “30 % 패킷 손실”로 인해 연결이 끊어 지거나 절대적으로 정상인지는 확실하지 않습니다.

그렇다면 ICMP 대신 TCP 연결을 사용하고 인터넷 연결 품질을 확인하는 것이 Ping의 대안입니까?



답변

TCP가 패킷 손실 / 패킷 순서 문제를 허용 할 수 있다는 사실과 상관없이 “인구”가 충분히 큰 경우 (즉, 100 개 이상의 핑) 30 %의 핑 손실은 여전히 ​​상당히 중요합니다.

그러나 질문에 대답하기 위해 nmap을 볼 수 있습니다. 나는 곧 예제가 범람 될 것이라고 확신한다 🙂

더 중요한 것은 왕복 시간 만 원하지는 않으며 실제로 컴퓨터에서 서버까지 성능을 확인하고 모든 (가능한) 홉마다 다시 돌아 가기를 원한다는 것입니다.

당신은이 작업을 수행 할 수 있습니다 traceroute– 그러나이 가장 일반적으로 발견 버전 ICMP 또는 UDP를 사용하여 수행됩니다,하지만 검색 tcp traceroute– 거기에 시작합니다.

여기있는 동안 시도해 볼만한 재미있는 도구가 있습니다.

여기에 예가 있습니다 lft

 % lft -S 4.2.2.2

 Hop  LFT trace to vnsc-bak.sys.gtei.net (4.2.2.2):80/tcp
  1   ln-gateway.centergate.com (206.117.161.1) 0.5ms
  2   isi-acg.ln.net (130.152.136.1) 2.3ms
  3   isi-1-lngw2-atm.ln.net (130.152.180.21) 2.5ms
  4   gigabitethernet5-0.lsanca1-cr3.bbnplanet.net (4.24.4.249) 3.0ms
  5   p6-0.lsanca1-cr6.bbnplanet.net (4.24.4.2) 3.4ms
  6   p6-0.lsanca2-br1.bbnplanet.net (4.24.5.49) 3.3ms
  7   p15-0.snjpca1-br1.bbnplanet.net (4.24.5.58) 10.9ms
  8   so-3-0-0.mtvwca1-br1.bbnplanet.net (4.24.7.33) 11.1ms
  9   p7-0.mtvwca1-dc-dbe1.bbnplanet.net (4.24.9.166) 11.0ms
 10   vlan40.mtvwca1-dc1-dfa1-rc1.bbnplanet.net (128.11.193.67) 11.1ms
 **   [neglected] no reply packets received from TTLs 11 through 20
 **   [4.2-3 BSD bug] the next gateway may errantly reply with reused TTLs
 21   [target] vnsc-bak.sys.gtei.net (4.2.2.2) 11.2ms


답변

Netcat Power Tools 는 netcat으로 TCP Ping 을 수행하는 방법을 설명합니다 . 특히 원치 않는 모든 ACK 패킷은 RST를 반환해야합니다.


답변

나는 개인적으로 mtr ( http://www.bitwizard.nl/mtr/ ) 의 큰 팬입니다 .mtr 은 icmp와 udp를 모두 사용하여 작동 할 수있는 ncurses 기반 traceroute 클론입니다. 특정 호스트에 대한 링크의 약점을 표시하며 비침 입적입니다.

실제로로드 테스트에 관해서는 iperf (클라이언트 / 서버)와 함께 갈 것입니다.


답변

Windows의 경우 tcping과 같은 것을 사용할 수 있습니다 :
http://www.elifulkerson.com/projects/tcping.php

Linux의 경우 가장 좋은 유틸리티는 이미 언급 한 것 hping입니다.

# hping -S -p 80 www.sunet.se
HPING www.sunet.se (eth0 192.36.171.155): S set, 40 headers + 0 data bytes
len=46 ip=192.36.171.155 ttl=59 DF id=0 sport=80 flags=SA seq=0 win=5840 rtt=0.7 ms
len=46 ip=192.36.171.155 ttl=59 DF id=0 sport=80 flags=SA seq=1 win=5840 rtt=0.7 ms
len=46 ip=192.36.171.155 ttl=59 DF id=0 sport=80 flags=SA seq=2 win=5840 rtt=0.6 ms
^C
--- www.sunet.se hping statistic ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.6/0.7/0.7 ms


답변

ICMP 패킷은 일반적으로 속도가 느려집니다 (차이가있는 경우). 대부분의 네트워크가 우선 순위를 정하기 때문에, 특히 핑 패킷입니다. 일반적으로 ICMP 및 TCP 응답에서 이러한 결과가 발생하는 경우 문제는 과부하 된 서버 또는 방화벽을 따라 특정 TCP가 형성되는 것입니다.

당신은 조사해야합니다 traceroute -P tcp, tcptraceroute, lft물론 telnet.


답변

일부 QoS 응용 프로그램을 사용하여 이러한 종류의 네트워크 매개 변수를 측정 할 수 있습니다. 예를 들면 다음과 같습니다.

NetPerf (www.netperf.org/netperf/) : Netperf는 다양한 유형의 네트워킹 성능을 측정하는 데 사용할 수있는 벤치 마크입니다. 단조로운 처리량과 엔드 투 엔드 대기 시간에 대한 테스트를 제공합니다. netperf가 현재 측정 할 수있는 환경은 다음과 같습니다.

* TCP and UDP via BSD Sockets for both IPv4 and IPv6
* DLPI
* Unix Domain Sockets
* SCTP for both IPv4 and IPv6

또는

IPerf (sourceforge.net/projects/iperf) Iperf는 NLANR / DAST에서 최대 TCP 및 UDP 대역폭 성능을 측정하는 최신 대안으로 개발되었습니다. Iperf를 사용하면 다양한 매개 변수 및 UDP 특성을 조정할 수 있습니다. Iperf는 대역폭, 지연 지터, 데이터 그램 손실을보고합니다.


답변

hping을 확인한 다음 bing을 살펴보십시오.