偶然发现还有这样的工具: 通过TCP协议实现ping和tracert. 之前一直苦恼无法通过ping的方式测试被q网站, 现在有了这两个工具后就方便了.

[Windows]

tcping: http://www.elifulkerson.com/projects/tcping.php

tracetcp: https://github.com/SimulatedSimian/tracetcp

[Linux]

tcpping: http://xmodulo.com/how-to-install-tcpping-on-linux.html

1. apt-get install tcptraceroute

2. vi tcpping.sh

#!/bin/sh
#
# tcpping: test response times using TCP SYN packets
#          URL: http://www.vdberg.org/~richard/tcpping.html
#
# uses tcptraceroute from http://michael.toren.net/code/tcptraceroute/
#
# (c) 2002-2005 Richard van den Berg <richard@vdberg.org> under the GPL
#               http://www.gnu.org/copyleft/gpl.html
#
# 2002/12/20 v1.0 initial version
# 2003/01/25 v1.1 added -c and -r options
#                 now accepting all other tcptraceroute options
# 2003/01/30 v1.2 removed double quotes around backquotes
# 2003/03/25 v1.3 added -x option, courtesy of Alvin Austin <alvin@crlogic.com>
# 2005/03/31 v1.4 added -C option, courtesy of Norman Rasmussen <norman@rasmussen.org>
# 2007/01/11 v1.5 catch bad destination addresses
# 2007/01/19 v1.6 catch non-root tcptraceroute
# 2008/02/10 v1.7 make -C work when reverse lookup fails, courtesy of Fabrice Le Dorze <Fabrice.LeDorze@apx.fr>ver="v1.7"
format="%Y%m%d%H%M%S"
d="no"
c="no"
C="no"
ttl=255
seq=0
q=1
r=1
w=3
topts=""usage () {name=`basename $0`echo "tcpping $ver Richard van den Berg <richard@vdberg.org>"echoecho "Usage: $name [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port]"echoecho "        -d   print timestamp before every result"echo "        -c   print a columned result line"echo "        -C   print in the same format as fping's -C option"echo "        -w   wait time in seconds (defaults to 3)"echo "        -r   repeat every n seconds (defaults to 1)"echo "        -x   repeat n times (defaults to unlimited)"echoecho "See also: man tcptraceroute"echo
}_checksite() {ttr=`tcptraceroute -f ${ttl} -m ${ttl} -q ${q} -w ${w} $* 2>&1`if echo "${ttr}" | egrep -i "(bad destination|got roo)" >/dev/null 2>&1; thenecho "${ttr}"exitfi
}_testsite() {myseq="${1}"shift[ "${c}" = "yes" ] && nows=`date +${format}`[ "${d}" = "yes" ] && nowd=`date`ttr=`tcptraceroute -f ${ttl} -m ${ttl} -q ${q} -w ${w} $* 2>/dev/null`host=`echo "${ttr}" | awk '{print $2 " " $3}'`rtt=`echo "${ttr}" | sed 's/.*] //' | awk '{print $1}'`not=`echo "${rtt}" | tr -d ".0123456789"`[ "${d}" = "yes" ] && echo "$nowd"if [ "${c}" = "yes" ]; thenif [ "x${rtt}" != "x" -a "x${not}" = "x" ]; thenecho "$myseq $nows $rtt $host"elseecho "$myseq $nows $max $host"fielif [ "${C}" = "yes" ]; thenif [ "$myseq" = "0" ]; thenecho -n "$1 :"fiif [ "x${rtt}" != "x" -a "x${not}" = "x" ]; thenecho -n " $rtt"elseecho -n " -"fiif [ "$x" = "1" ]; thenechofielseecho "${ttr}" | sed -e "s/^.*\*.*$/seq $myseq: no response (timeout)/" -e "s/^$ttl /seq $myseq: tcp response from/"fi
#       echo "${ttr}"
}while getopts dhq:w:cr:nNFSAEi:f:l:m:p:s:x:C opt ; docase "$opt" ind|c|C) eval $opt="yes" ;;q|w|r|x) eval $opt="$OPTARG" ;;n|N|F|S|A|E) topt="$topt -$opt" ;;i|l|p|s) topt="$topt -$opt $OPTARG" ;;f|m) ttl="$OPTARG" ;;?) usage; exit ;;esac
doneshift `expr $OPTIND - 1`if [ "x$1" = "x" ]; thenusageexit
fimax=`echo "${w} * 1000" | bc`if [ `date +%s` != "%s" ]; thenformat="%s"
fi_checksite ${topt} $*if [ "$x" = "" ]; thenwhile [ 1 ] ; do_testsite ${seq} ${topt} $* &pid=$!if [ "${C}" = "yes" ]; thenwait $pidfiseq=`expr $seq + 1`sleep ${r}done
elsewhile [ "$x" -gt 0 ] ; do_testsite ${seq} ${topt} $* &pid=$!if [ "${C}" = "yes" ]; thenwait $pidfiseq=`expr $seq + 1`x=`expr $x - 1`if [ "$x" -gt 0 ]; thensleep ${r}fidone
fiexit

3. chmod 755 tcpping

转载于:https://www.cnblogs.com/IvanChen/p/5226301.html

ping tracert over TCP相关推荐

  1. 比较ping,tracert和pathping等命令之间的关系

    网络测试常用的命令-比较ping,tracert和pathping等命令之间的关系 还是正在学习TCP/IP协议,了解和掌握一些常用的网络测试命令将会有助于您更快地检测到网络故障所在,同时也会有助你您 ...

  2. 网工学习 管理常用命令ipconfig ping tracert pathping ARP netstat route nslookup

    目录 网络管理常用命令 ipconfig ping tracert pathping ARP netstat route nslookup 网络管理常用命令 ipconfig ping ping命令通 ...

  3. Ping Tracert result Command explanation

    Ping& Tracert result Command explanation 1, Ping 例如ping   www.yahoo.com     Pinging   www.yahoo. ...

  4. ping icmp和tcp区别:

    ping icmp和tcp区别:tcpdump -i eth1 '((tcp) and ( host 2.2.2.2)))'node1:/root/test#cat ping.pl use Net:: ...

  5. 路由器和防火墙对Ping/Tracert工具的影响

    在日常的网络探测和故障诊断中,常用到的两个工具是Ping和Tracert.随着网络结构的日益复杂和中间设备(包括但不仅限于路由器和防火墙)的广泛部署,以及为了实现安全要求而在路由器和防火墙上实施了严格 ...

  6. 几个常用的、重要的网络命令!(ping,Tracert ,winipcfg等)

    解和掌握下面几个命令将会有助于您更快地检测到网络故障所在,从而节省时间,提高效率. Ping Ping是测试网络联接状况以及信息包发送和接收状况非常有用的工具,是网络测试最常用的命令.Ping向目标主 ...

  7. 网络测试常用的命令-比较ping,tracert和pathping等命令之间的关系

       无论你是一个网络维护人员,还是正在学习TCP/IP协议,了解和掌握一些常用的网络测试命令将会有助于您更快地检测到网络故障所在,同时也会有助你您了解网络通信的内幕.         下面我们逐步介 ...

  8. ping tracert 联系区别

    ping 查看你到你想去的地方通不通 tracert 查看你到你想去的地方该怎么走 pathping 查看你要走的这条路的路况怎么样   大体就是这个意思,但是在交换机,路由器中是没有tracert的 ...

  9. Ipconfig ping tracert netstat arp的使用

    一.Ipconfig的使用 1.点击开始菜单.选择运行.快捷键为WIN徽标键+R. 2.输入CMD命令符回车. 3.在弹出的DOS对话框中输入ping XXXX(IP地址或网址)回车 4.如果显示ti ...

最新文章

  1. python中间是什么意思_中间代码说明
  2. 大话设计模式-备忘录模式
  3. 【Python CheckiO 题解】Sun Angle
  4. java dbcursor_优化JAVA查询Mongodb数量过大,查询熟读慢的方法
  5. 我家两个孩子周六都开家长会,我和老公两个人都要上班,怎么办?
  6. tensorflow精进之路(二十八)——人脸识别(下)(MTCNN人脸检查和人脸对齐+CASIA-WebFace数据集模型)
  7. mongodb创建超级管理员_MongoDB 用户、库、表的管理
  8. Android心电数据分析,基于Android的心电信号分析系统研究
  9. c++课设作业之课程信息管理系统
  10. php 电脑的右下角弹框,电脑右下角弹出广告的解决方法
  11. Linux串口属性设置
  12. NUC8i7HNK下ubuntu16.04LTS安装realsense
  13. 最新|神秘的互联网大厂薪资和职级!
  14. 【图灵教育读书】分享读书心得,奖励精品图书!
  15. 谁告诉你 Flutter 会干掉原生开发?
  16. 数据库储存Excel表信息
  17. 服务器压力测试工具0——需求与设计
  18. MTK的MT6582平台如何进u-boot amp;amp; 修改波特率为115200
  19. python 下列表达式的值为true的是_下列表达式的值为True的是( )。_学小易找答案...
  20. 微信小程序开发-入门尝试

热门文章

  1. python连接数据库设置编码_python操作mysql中文显示乱码的解决方法
  2. 编程是使用计算机的什么部位,第一章 编程语言及计算机介绍
  3. oracle存储一个数字格式,Oracle根本数据类型存储格式研究(二)—数字类型
  4. python数据检索_python – Hachoir – 从组中检索数据
  5. redis的list类型
  6. 用python统计图片中的点_用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)...
  7. Oracle查询对应表是否在使用,oracle 中查询当前用户可以看到的表名、表对应的所有字段...
  8. javascript Math object
  9. Python Logging.basicConfig
  10. Hadoop HIVE 安装配置(单机集群)