linux tcptraceroute tcpping安装使用

linux tcptraceroute tcpping安装使用1.首先安装依赖包libpcapyuminstall-ylibpcap2.下载tcptracerouterpm包,并安装rpm-ivhtcptraceroute-1.5-0.beta7.el6.rf.x86_64.rpmtcptraceroute121.46.29.1155810-n-q1tracerouteto121….

大家好,又见面了,我是你们的朋友全栈君。

1.首先安装依赖包libpcap

  yum install -y libpcap

2.下载tcptraceroute rpm包,并安装

  rpm -ivh tcptraceroute-1.5-0.beta7.el6.rf.x86_64.rpm

  tcptraceroute 121.46.29.115 5810 -n -q 1
traceroute to 121.46.9.135 (121.46.9.135), 30 hops max, 60 byte packets
 1  10.0.12.254  1.296 ms
 2  10.1.3.250  2.478 ms
 3  *
 4  180.76.225.253  0.369 ms
 5  182.61.255.2  4.030 ms
 6  182.61.253.121  3.815 ms
 7  182.61.253.163  1.516 ms
 8  103.216.40.75  3.131 ms
 9  121.46.29.115 <syn,ack>  35.470 ms


tcpping脚本
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>"
    echo
    echo "Usage: $name [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port]"
    echo
    echo "        -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)"
    echo
    echo "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; then
        echo "${ttr}"
        exit
    fi
}
    
_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" ]; then
        if [ "x${rtt}" != "x" -a "x${not}" = "x" ]; then
            echo "$myseq $nows $rtt $host"
        else
            echo "$myseq $nows $max $host"
        fi
    elif [ "${C}" = "yes" ]; then
        if [ "$myseq" = "0" ]; then
            echo -n "$1 :"
        fi
        if [ "x${rtt}" != "x" -a "x${not}" = "x" ]; then
            echo -n " $rtt"
        else
            echo -n " -"
        fi
        if [ "$x" = "1" ]; then
            echo
        fi
    else
        echo "${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 ; do
    case "$opt" in
        d|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
done

shift `expr $OPTIND - 1`

if [ "x$1" = "x" ]; then
    usage
    exit
fi

max=`echo "${w} * 1000" | bc`

if [ `date +%s` != "%s" ]; then
    format="%s"
fi

_checksite ${topt} $*

if [ "$x" = "" ]; then
    while [ 1 ] ; do
        _testsite ${seq} ${topt} $* &
        pid=$!
        if [ "${C}" = "yes" ]; then
            wait $pid
        fi
        seq=`expr $seq + 1`
        sleep ${r}
    done
else
    while [ "$x" -gt 0 ] ; do
        _testsite ${seq} ${topt} $* &
        pid=$!
        if [ "${C}" = "yes" ]; then
            wait $pid
        fi
        seq=`expr $seq + 1`
        x=`expr $x - 1`
        if [ "$x" -gt 0 ]; then
            sleep ${r}
        fi
    done
fi

exit
:wq!

chmod +x tcpping.sh

[root@beijing012033 ~]# ./tcpping.sh 121.46.129.33 5810
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 0: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.456 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 2: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.456 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 1: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.449 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 4: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.519 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 5: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.473 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 3: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.470 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 7: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.528 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 6: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.479 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 9: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.478 ms
seq 8: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.516 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 10: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.452 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 11: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.529 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 12: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.521 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 13: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.404 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 14: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.502 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 15: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.514 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 17: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.515 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 16: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.462 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 18: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.442 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 20: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.518 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 19: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.415 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 21: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.453 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 22: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.461 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets
seq 23: tcp response from 121.46.129.33 (121.46.129.33) <syn,ack>  35.462 ms
traceroute to 121.46.129.33 (121.46.129.33), 255 hops max, 60 byte packets

-d  打印本机每发出一个tcp包的当前时间戳
-c  打印一版纯数字的信息,可以用它来粘贴到excel表格 并制成延时抖动表
-C 另一种格式的纯数字制表信息
-w  设置等待时间(秒)  默认为3秒
-r  设置不管有无tcp包回复,本机间隔多少时间重复发送tcp握手包
这个那啥,可以用作ddos哦?! 
-x 设置本机发送多少次tcp包,默认为空 即无限制重复发送

 

转载于:https://www.cnblogs.com/vincent-liang/p/8528279.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151485.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 配置环境变量[通俗易懂]

    java 配置环境变量[通俗易懂]1.情景展示虽然,我们在实际开发过程中,无论是通过idea、eclipse、myeclipse来完成java项目的开发,通过这些工具来帮助我们实现由java文件编译成class文件,但是,一旦脱离了

    2022年7月3日
  • 免费申请国外免费域名超详细教程「建议收藏」

    免费申请国外免费域名超详细教程「建议收藏」1.首先申请免费域名网站:https://my.freenom.com/domains.php2.填入域名,这里我们以xcflag为列(尽量选择复杂一点的或者五个字母以上的域名,因为简单的有些域名是需要收费的),点击检查可用性。3.可以看到很多免费的域名(用的谷歌翻译插件,翻译有时候不是很准确,free翻译过来应该是免费而不是自由,之后会写一些关于谷歌插件的笔记,详细讲解)4.我们选择xcflag.tk点击立即获取,稍等一会点击购物车查看绿色按钮5.默认三个月试用,这里下拉框我们选择十二个月

    2022年6月30日
  • java对象类型转换_cdr轮廓转换为对象

    java对象类型转换_cdr轮廓转换为对象要将Java对象或POJO(普通旧Java对象)转换为JSON,我们可以使用JSONObject将对象作为参数的构造函数之一。在下面的示例中,我们将StudentPOJO转换为JSON字符串。Student类必须提供getter方法,JSONObject通过调用这些方法创建JSON字符串。在此代码段中,我们执行以下操作:使用setter方法创建Student对象并设置其属性。 创建JSONObject调用object并将Student对象用作其构造函数的参数。 J.

    2022年9月18日
  • 传智健康day06 移动端开发-体检预约

    传智健康day06 移动端开发-体检预约1.移动端开发1.1移动端开发方式随着移动互联网的兴起和手机的普及,目前移动端应用变得愈发重要,成为了各个商家的必争之地。例如,我们可以使用手机购物、支付、打车、玩游戏、订酒店、购票等,以前只能通过PC端完成的事情,现在通过手机都能够实现,而且更加方便,而这些都需要移动端开发进行支持,那如何进行移动端开发呢?移动端开发主要有三种方式:1、基于手机API开发(原生APP)2、基于手机浏览器开发(移动web)3、混合开发(混合APP)1.1.1基于手机API开发手机端使用手

    2022年6月24日
  • 解决Oracle数据库1521端口telnet不通问题

    解决Oracle数据库1521端口telnet不通问题现象:服务器的ip地址可以ping通,但是安装oracle过程中的指定的“1521”端口telnet不通过解决办法:1、确保防火墙对1521端口开启; 2、修改oracle安装之后的文件tnsnames.ora(F:\install\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora)中“HOST”的值为”计算机全名“(桌面属性\高级

    2022年5月27日
  • 谈谈5G的信道编码方法

    谈谈5G的信道编码方法最近因为联想的投票引发了轩然大波,让我们不得不审视一下投票的对象:5G的信道编码方式。信道编码是通信技术中非常关键的技术,用于对抗信道上的噪声以及干扰,提高传输的效率。我在通信技术的四大金刚一文中,按重要性将编码技术归为第二位,其中就包含了信道编码。不过,信道编码的效果是有极限的,这就是香农定理所指出的编码极限。在GSM系统中,采用了卷积以及交织等信道编码方式,离编码极限还有一段距…

    2022年5月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号