TCP端口檢測工具

不少時候,咱們須要測試 tcp 端口。ping 命令雖然好用,但不能測試端口,由於 ping 基於ICMP協議,屬於IP層協議,因此沒法測試傳輸層的 TCP/UDP 端口。幸虧有tcping命令,能夠實現tcp端口檢測。php

 

1. 用途
監聽主機的端口狀態,默認是80端口,也能夠指定其它端口html

看到ping返回的時間,檢測主機是否有延時或者端口不通 linux


2. 安裝

訪問tcping主頁,下載安裝包tcping-1.3.5.tar.gz,編譯安裝tcping(須要安裝gcc、make)。
# tar zxvf tcping-1.3.5.tar.gz windows

# cd tcping-1.3.5 安全

# yum install -y gcc 網絡

# make tcp

# cp tcping /usr/bin/post

 

3. tcping參數詳解

  • 描述

在本地主機和遠程主機之間,tcping能夠測試出執行TCP三次握手所需的時間(SYN,SYN / ACK,ACK)。最終ACK傳送時間不包括在內,只有最少的時間才能將其丟棄在近端的電線。 測試

選項
-4,優先使用IPv4url

-6,優先使用IPv6

-h,使用http模式

-t,讓命令持續運行,直到使用ctrl + c指令退出

-n 數字,發送命令的次數,默認4次

-i 數字,發送ping命令的時間間隔,默認1s,能夠爲小數

-w 數字,等待響應的時間間隔,默認2s,能夠爲小數

-d,使輸出的每一行顯示時間和日期

-f,強制ping命令至少發送一個比特(byte)

-g 數字,失敗指定次就放棄(注意默認是80端口,若其餘端口沒開也算失敗)

-b 數字,開啓蜂鳴器,參數4會一直響鈴

-c,只顯示改變的信息(ping時間很短通常不會改變)

-r 數字,每發送指定個數據包,就從新查找主機一次(經過DNS或路由查找)

-s,ping通就當即退出

-u,與-h命令連用,每一行輸出目標的url

-v,顯示版本信息

-j,使用默認的方法,求ping的均值減少波動,網絡有必定的不穩定性時,用此參數能夠減少波動

-js 數字,用指定個實例求平均值減少波動,使用這個參數,系統會tcping 指定次,而後求出平均值做爲一次結果顯示,減少波動

–tee file_path,將結果輸出到指定位置,tcping –tee /data/test.txt192.168.0.100,會把ping的結果保存在/data下的test文件中

–file,從文件中得到ping的來源;在/data下新建一個test.txt文件,並輸入要tcping的全部ip或域名,一行一個,而後執行命令tcping –file /data/test.txt,就會依次tcping文件中指定的地址

destination,能夠是DNS地址、IP地址、URL(須要使用-h,http模式)。使用http模式時,不要加https//或:port,例如:tcping http://www.elifulkerson.com:8080/index.html就會失敗,使用tcping www.elifulkerson.com/index.html 8080就會成功

port 數字,指定tcp端口(1-65535),若是不指定,默認是80

–header,在頭部顯示時間和日期,與–tee顯示的格式差很少

–block,tcping不通的等待時間,默認是20秒(很長)。–block能夠把-w參數衝突掉 ,例如tcping --block www.baiu.com網址不正確,顯然tcpping不通,默認會等待20s 。 tcping -w 0.5 –block www.baiu.com仍是會等20s,而不是0.5s,由於–block選項會把-w選項衝突掉。

 

HTTP模式選項
–post,在http模式中,使用post方法

–head,在http模式中,使用head方法

–get Shorthand to invoke 「http」 mode for consistency’s sake.

–proxy-server,指定代理服務

–proxy-port,指定代理服務端口

–proxy-credentials username:password,使用代理的安全驗證,須要輸入用戶名和密碼

 

返回值
若是全部的pings是成功的,返回0;若是全部ping都失敗,返回1;混合結果,返回2

tcping is available at http://www.elifulkerson.com/projects/tcping.php

 

4. 開放端口和關閉端口
查看哪些端口被打開
# netstat -anp

防火牆關閉端口
# iptables -A INPUT -p tcp --drop 端口號-j DROP

# iptables -A OUTPUT -p tcp --dport 端口號-j DROP

防火牆打開端口
# iptables -A INPUT -p tcp --dport 端口號-j ACCEPT

linux打開端口
// 打開telnet23端口
# nc -lp 23 &

// 查看23端口是否打開
# netstat -an | grep 23

注意:linux每打開一個端口,都須要有相應的監聽程序。

 

5. 實例
# tcping -d -h -u -n 10 -i 0.1 -w 0.1 192.168.1.30 6001

意思:使用http模式(-h),而且在返回數據中顯示目標源url地址

(-u),向主機ip爲192.168.1.30的6001端口發送10次數據包

(-n 10),在返回數據行中顯示發送數據包的日期

(-d),指定每次發送數據包的時間間隔爲0.1秒

(-i 0.1),等待數據包相應的時間間隔爲0.1秒

(-w 0.1) 注:-t和-n同時存在時,優先指定-n,即tcping -t -n 10 192.168.1.30命令只會發送10次數據包,並非像-t同樣持續發送。

相關文章
相關標籤/搜索