AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 14376
Accepted
grigoryvp
grigoryvp
Asked: 2009-05-30 01:41:30 +0800 CST2009-05-30 01:41:30 +0800 CST 2009-05-30 01:41:30 +0800 CST

ping 替代 tcp?

  • 772
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

检查网络“质量”是一项常见任务 - 延迟、丢弃数据包的数量等。但是“ping”有许多缺点: - 它使用 ICMP。许多 ISP 对 ICMP 和 TCP 流量有不同的整形器,因此“ping”将显示 10 毫秒延迟,但 TCP 连接将经历 1000 毫秒以上。- 它发送非常少量的数据包。默认情况下,每秒一个数据包。由于 TCP 协议可以容忍数据包丢失(它可以很好地运行一半数据包丢失 - 这是正常的),因此绝对不清楚 ping 的“30% 数据包丢失”是否会终止连接,或者它是否绝对正常。

那么,使用 TCP 连接而不是 ICMP 并检查互联网连接质量的 ping 是否有任何替代方案?

networking tcp
  • 9 9 个回答
  • 119133 Views

9 个回答

  • Voted
  1. Best Answer
    Xerxes
    2009-05-30T01:45:46+08:002009-05-30T01:45:46+08:00

    不管 TCP 可以容忍数据包丢失/数据包排序问题这一事实,如果“人口”足够大 - 即超过 100 个 ping,则 30% 的 ping 丢失仍然非常重要。

    但是要回答这个问题,您可以查看 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
    
    • 14
  2. shapr
    2009-05-30T02:18:49+08:002009-05-30T02:18:49+08:00

    Netcat Power Tools描述了如何使用 netcat 进行TCP Ping。具体来说,每个未经请求的 ACK 数据包都应返回 RST。

    • 4
  3. amo-ej1
    2009-05-30T02:18:55+08:002009-05-30T02:18:55+08:00

    我个人是 mtr ( http://www.bitwizard.nl/mtr/ )的忠实粉丝,mtr 是一个基于 ncurses 的 traceroute 克隆,它可以使用 icmp 和 udp 工作。它向您显示了与某个主机的链接中的弱点,并且以这种方式非侵入性。

    当涉及到一些负载测试时,我会使用 iperf(即客户端/服务器)。

    • 3
  4. Mattias Ahnberg
    2012-01-04T19:54:20+08:002012-01-04T19:54:20+08:00

    对于 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
    
    • 2
  5. Alex J
    2009-05-30T01:53:27+08:002009-05-30T01:53:27+08:00

    ICMP 数据包通常传输速度较慢(如果有差异的话),因为大多数网络会降低它们的优先级,尤其是 ping 数据包。通常,如果您从 ICMP 和 TCP 响应中看到如此不同的结果,则问题要么是服务器过载,要么是沿途防火墙处的特定 TCP 整形。

    你应该调查traceroute -P tcp,,tcptraceroute当然lft。telnet

    • 1
  6. Roberto
    2009-05-30T02:11:30+08:002009-05-30T02:11:30+08:00

    您可以使用一些 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 由 NLNR/DAST 开发,作为测量最大 TCP 和 UDP 带宽性能的现代替代方案。Iperf 允许调整各种参数和 UDP 特性。Iperf 报告带宽、延迟抖动、数据报丢失。

    • 1
  7. Matthew
    2009-05-30T02:55:43+08:002009-05-30T02:55:43+08:00

    检查hping然后看看bing

    • 1
  8. niXar
    2009-05-30T03:31:03+08:002009-05-30T03:31:03+08:00

    TCP 不能“容忍”50% 的数据包丢失。它会简单地停止,原因很简单:它会根据数据包的丢失来调整其传输速度。当数据包丢失时,它们被理解为表示拥塞。如果您丢弃 50% 的数据包(例如,使用随机丢弃防火墙规则)而不考虑流量,它将看到带宽可用性不断下降。

    此外,我怀疑 ISP 塑造了 ICMP 与 TCP。有些人可能会这样做,因为那里有一些非常愚蠢的人,但这样做没有多大意义。大多数会塑造整个连接,或者会因为拥塞而“塑造自己”。在任何一种情况下,数据包通常都是随机丢弃的。

    话虽如此,您可以使用 TCP ping,但有几个警告。第一种是仅在 TCP 连接中发送初始数据包,这将引发来自具有开放端口的服务器的响应,但将被视为连接尝试。理想情况下,您可以使用“echo”服务(TCP 端口 7)……但实际上您不能,因为它现在在所有地方都默认禁用。无论如何,如果您可以让某人在您要测试的机器上为您启用它,那么程序可以使用它来检查 TCP 连接中数据包的循环时间。

    话虽如此,您的机器上可能已经安装了“tracepath”命令;它类似于 traceroute,但既不使用 TCP 也不使用 ICMP,而是使用 UDP。对于 TCP,有各种实用程序,您可以尝试hping。

    • 1
  9. Caterpillar
    2009-05-30T02:57:15+08:002009-05-30T02:57:15+08:00

    ping 的替代方法,您可以使用“netstat”

    选项:1.netstat -antp 2.netstat -anup

    -a = all, -n = 套接字本地端的地址和端口号, -t = tcp, -p = 程序

    -u = udp。

    • 0

相关问题

  • 10 Gb 网络:在光纤和双绞线之间做出决定

  • 如何在 Windows Server PPTP VPN 中自动为客户端分配路由?

  • 为什么我的电脑休眠时 VPN 连接会中断?[关闭]

  • 有什么软件可以模拟局域网?

  • 带宽利用工具?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve