tcping在linux用法,tcping的安装和使用[通俗易懂]

tcping在linux用法,tcping的安装和使用[通俗易懂]Tcping网上比较少资料是关于linux对tcp端口ping测试的方法,我这里简单介绍2种方法:1.yum安装,编译安装方法1-1.wgethttp://linuxco.de/tcping/tcping-1.3.5.tar.gz###下载tcping1-2tarzxvftcping-1.3.5.tar.gz####解压缩tcping-1.3.51-3cdtcping-1….

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

Tcping 网上比较少资料是关于linux对tcp端口ping测试的方法,我这里简单介绍2种方法: 1.yum安装,编译安装方法 1-1.wget http://linuxco.de/tcping/tcping-1.3.5.tar.gz ###下载tcping

ab1b5ad394a75b3b9a4e9dc5e9836561.png

1-2 tar zxvf tcping-1.3.5.tar.gz ####解压缩tcping-1.3.5

1-3 cd tcping-1.3.5 ###进入文件夹

1-4 gcc -o tcping tcping.c ####编译执行文件

866b5b82047b36e23568d5316daf44d8.png

1-5 ./tcping www.baidu.com 80 ####使用方法,后面加tcp端口

26b85c6d538429baf0cf08d34200f431.png

2.通过shell脚本,执行tcping命令(能长ping) 2-1 脚本如下: #!/bin/sh

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 ” 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 (time out)/” -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

2-2 vi一个文件,这里命名为tcping

fc01ee91065aa226ce6243c1fc131dbb.png

2-3 chmod 777 tcping ###赋予tcping执行权限

1bbc5744858919fcc9da386280061497.png

2-4 安装脚本执行内容所需软件支持

1.wget

2.rpm -ih tcptraceroute-1.5-0.beta7.el6.rf.x86_64.rpm

4c0386e724e7d9bfd50654acf53ec288.png

2-6 ./tcping www.baidu.com 80 ####执行shell脚本

e2c7a1c48e0ab2a04a6a81cac0e54845.png

由睿江云运维人员提供,想了解更多,请登陆www.eflycloud.com

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

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

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


相关推荐

  • android开发笔记之SwipeRefreshLayout

    android开发笔记之SwipeRefreshLayoutSwipeRefreshLayout简介SwipeRefrshLayout是Google官方更新的一个控件,可以实现下拉刷新的效果,该控件集成自ViewGroup在support-v4兼容包下.在android源码中,主要是在联系人界面刷新联系人数据:packages/apps/Contacts/src/com/android/contacts/list/DefaultContactBrow…

    2022年6月25日
    27
  • Java中如何通过键盘输入一个数组

    Java中如何通过键盘输入一个数组有时候在编写Jave的时候需要键盘输入一个数组,本小白也是看了几篇博客后才知道了如何在自己的程序中进行键盘输入,废话不多说,直接上代码:第一种方法:(不限制输入数组的长度)System.out.println("请输入几个数并用逗号隔开:");Scannersc=newScanner(System.in);Stringstr=sc.next().toString();…

    2022年6月26日
    42
  • 数据库置疑处理_sqlserver可疑数据库恢复

    数据库置疑处理_sqlserver可疑数据库恢复现象说明:新备份出的数据库Geb,在还原时报错”MicrosoftSQL-DMO(ODBCSQLState:42000)” 解决方法: 分离出还原失败的数据库Geb 先创建一个同样的数据库Geb 停掉server服务,用旧的数据文件覆盖新创建的文件(只要mdf就可以)。  启动server服务  运行以下命令  sp_configur

    2022年8月22日
    5
  • 简单教你写xsync和xcall的脚本

    简单教你写xsync和xcall的脚本xsync配置xsync脚本基于rsync工具,rsync远程同步工具,主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点,它只是拷贝文件不同的部分,因而减少了网络负担。rsync-rvl$pdir/$fname$user@hadoop$host:$pdir常用参数:-r,–recursive对子目录以递归模式处理-R,–relative使用相对路径信…

    2022年5月28日
    36
  • frp内网映射_路由直接frp服务端

    frp内网映射_路由直接frp服务端第一步:云服务器上域名解析添加(前提是有域名已经备案)这里有对应操作截图文件第二步:下载服务器管理软件FinalShellSSH工具:http://www.hostbuf.com/c/131.html必备条件:java配置好,它依赖于java环境第三步:下载frp内网穿透软件(服务器和客户端的均要下载哦)简单配置介绍:https://www.xyzbeta.com/460………

    2022年9月14日
    2
  • js子页面获取父页面元素_iframe跨域调用父页面方法

    js子页面获取父页面元素_iframe跨域调用父页面方法@{List<Customer>Custs=newList<Customer>();Custs.Add(newCustomer{CustomerCode=”1001″,CustomerName=”Shiv”});Custs.Add(newCustomer{Custome…

    2022年9月1日
    2

发表回复

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

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