일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Shell script
- Windows10
- HLS
- Android
- dart
- wireshark
- Pod
- Java
- deployment
- macos
- kubectl
- golang
- configmap
- Sysinternals
- aws
- docker
- ebpf
- Python
- 행정구역분류
- RTMP
- nginx-media-server
- VSCode
- namespace
- aws cli
- Flutter
- spring cloud config
- service
- Kubernetes
- android studio
- ffmpeg
- Today
- Total
woonizzooni
tcping 설치 및 사용법 본문
TL;DR
사용자 OS환경별 참고 ( 공통 : 다운로드 & PATH 설정)
Linux - Redhat 계열 (CentOS 등)
설치 $ su - 혹은 su # yum install tcping .... Transaction Test Succeeded Running Transaction Installing : tcping-1.3.5-13.el6.x86_64 1/1 Verifying : tcping-1.3.5-13.el6.x86_64 1/1 Installed: tcping.x86_64 0:1.3.5-13.el6 Complete! # which tcping /usr/bin/tcping 사용법 # tcping error: Usage: tcping [-q] [-t timeout_sec] [-u timeout_usec] 사용예 : 너무 단순한데?? -_- $ tcping -t 5 www.daum.net 80 www.daum.net port 80 open. $ tcping -t 5 www.daum.net 8080 www.daum.net port 8080 closed. |
Linux - Ubuntu
참고1 : https://www.kiritostudio.com/tcping-on-ubuntu-14-04/
설치 $ sudo apt install hping3 $ which hping3 $ /usr/bin/hping3 $ sudo ln -s /usr/bin/hping3 /usr/bin/tcping <---- 여기부터는 개인 취향 -_-;;; $ which tcping $ /usr/sbin/tcping 사용법 $ tcping --help usage: hping3 host [options] -h --help show this help -v --version show version -c --count packet count -i --interval wait (uX for X microseconds, for example -i u1000) --fast alias for -i u10000 (10 packets for second) --faster alias for -i u1000 (100 packets for second) --flood sent packets as fast as possible. Don't show replies. -n --numeric numeric output -q --quiet quiet -I --interface interface name (otherwise default routing interface) -V --verbose verbose mode -D --debug debugging info -z --bind bind ctrl+z to ttl (default to dst port) -Z --unbind unbind ctrl+z --beep beep for every matching packet received Mode default mode TCP -0 --rawip RAW IP mode -1 --icmp ICMP mode -2 --udp UDP mode -8 --scan SCAN mode. Example: hping --scan 1-30,70-90 -S www.target.host ..... 엄청 많은 옵션 -_- 사용예 (80포트로, 4번 시도, SYN 플래그(tcp연결시도)) $ sudo tcping aa -p 80 -c 4 -S HPING www.daum.net (enp0s5 203.113.167.16): S set, 40 headers + 0 data bytes len=48 ip=203.133.167.16 ttl=128 id=45925 sport=80 flags=SA seq=0 win=32768 rtt=8.0 ms len=48 ip=203.133.167.16 ttl=128 id=45926 sport=80 flags=SA seq=1 win=32768 rtt=7.7 ms len=48 ip=203.133.167.16 ttl=128 id=45927 sport=80 flags=SA seq=2 win=32768 rtt=15.7 ms len=48 ip=203.133.167.16 ttl=128 id=45928 sport=80 flags=SA seq=3 win=32768 rtt=15.6 ms --- www.daum.nethping statistic --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 7.7/11.7/15.7 ms |
참고2 : http://xmodulo.com/how-to-install-tcpping-on-linux.html
설치 $ sudo apt install tcptraceroute $ wget http://www.vdberg.org/~richard/tcpping $ move tcpping tcping <--- 이름이 tcpping이어서 그냥 내 편의상 tcping으로 변경함 -_- $ chmod 755 tcping 사용법 $ ./tcping <--- tcptraceroute를 이용한 쉘 스크립트 파일임. tcpping v1.7 Richard van den Berg <richard@vdberg.org> Usage: tcpping [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port] -d print timestamp before every result -c print a columned result line -C print in the same format as fping's -C option -w wait time in seconds (defaults to 3) -r repeat every n seconds (defaults to 1) -x repeat n times (defaults to unlimited) See also: man tcptraceroute 사용예 $ ./tcping -r 1 www.daum.net seq 0: tcp response from 203.133.167.16 [open] 5.753 ms seq 1: tcp response from 203.133.167.16 [open] 5.951 ms ... $ ./tcping -r 1 www.daum.net 8080 seq 0: tcp response from 203.133.167.16 [closed] 5.614 ms seq 1: tcp response from 203.133.167.16 [closed] 4.868ms ... |
** Windows10의 Ubuntu쉘에서는 이 스크립트가(= tcptraceroute) 정상동작하지 않는다 -_-;;
(로우소켓 권한 오류? 암튼 안됨. 윈도우즈에서는 윈도우쉘에서 동작 권함)
MacOS
참고 : http://macappstore.org/tcping/ 터미널열고 Homebrew미설치되어 있을 경우 $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null 설치 $ brew install tcping $ which tcping /usr/local/bin/tcping 사용법 $ tcping error: Usage: tcping [-q] [-t timeout_sec] [-u timeout_usec] 실행 예: CentOS것과 사용법 및 실행 결과 동일 $ tcping -t 1 www.daum.net 80 www.daum.net port 80 open. $ tcping -t 1 www.daum.net 8080 www.daum.net port 8080 closed. |
Windows 계열
설치 원하는 위치(디렉토리)에 다운로드 : https://elifulkerson.com/projects/tcping.php 사용 예 > tcping -t www.daum.net > tcping -t www.daum.net 8080 사용법 > tcping Usage: tcping [-flags] server-address [server-port] Usage (full): tcping [-t] [-d] [-i interval] [-n times] [-w ms] [-b n] [-r times] [-s] [-v] [-j] [-js size] [-4] [-6] [-c] [-g count] [-S source_address] [--file] [--tee filename] [-h] [-u] [--post] [--head] [--proxy-port port] [--proxy-server server] [--proxy-credentials username:password] [-f] server-address [server-port] -t : ping continuously until stopped via control-c -n 5 : for instance, send 5 pings -i 5 : for instance, ping every 5 seconds -w 0.5 : for instance, wait 0.5 seconds for a response -d : include date and time on each line -b 1 : enable beeps (1 for on-down, 2 for on-up, 3 for on-change, 4 for always) -r 5 : for instance, relookup the hostname every 5 pings -s : automatically exit on a successful ping -v : print version and exit ... 옵션 다양 |
개요
서버의 네트웍 연결 상태를 확인하고 싶을 때,
ping차단 (=ICMP차단) 설정되어 있는 서버의 네트웍 상태를 확인하고 싶을 때,
특정 tcp포트가 열려 있는지 알고 싶을 때,
"telnet 서버주소 포트" 시도 후
'Escape character is "]"' 문자열이 보이는지 확인하여 연결 상태를 확인할 수 있다.
tcp패킷을 직접 raw소켓을 열어 syn을 보내고, ack를 받는 방법으로 확인할 수도 있고,
브라우저를 tcp클라이언트로 이용하여 'http://주소:포트' 를 시도하고
tcpdump, wireshark로 패킷을 덤프하여 syn 송신여부, ack수신여부로 연결상태를 확인할 수도 있겠다.
linux계열에서는 nc, nmap등으로 확인할 수도 있겠고,
windows에서는 sysinterals의 utility인 PsPing을 사용해도 되겠고...
이름이 동일하거나 비슷한 용도의 것을 tcping로 강제 ㅎㅎ 변경해서 정리해둔다.
'Network' 카테고리의 다른 글
홈 네트워크 구성도 (0) | 2019.06.19 |
---|