Dev/Network

    traceroute

    traceroute traceroute는 패킷이 전송되는 네트워크 경로를 표시하고 전송 지연을 측정하는 네트워크 진단 유틸리티 사용법 traceroute www.google.com # www.google.com으로가는 traceroute 정보 traceroute -4 www.google.com # IPv4 사용 (-4) traceroute -p 80 www.google.com # 목적지 포트 (-p) traceroute -m 10 www.google.com # 패킷이 거쳐가는 홉의 최대 수 (-m) traceroute -4 -p 80 -m 10 www.google.com # 여러 조건을 조합하여 사용가능

    tcpdump

    tcpdump tcpdump는 네트워크 인터페이스에서 송수신되는 패킷을 가로채고 표시해주는 명령어 사용법 tcpdump -i enp3s0 # 네트워크 인터페이스가 enp3s0인 패킷 tcpdump src 127.0.0.1 # 소스 IP가 127.0.0.1인 패킷 tcpdump dst 127.0.0.1 # 목적지 IP가 127.0.0.1인 패킷 tcpdump tcp port 80 # tcp 80포트로 통신하는 패킷 tcpdump tcp # tcp 패킷 tcpdump udp # udp 패킷 tcpdump src port 3000 # 소스 포트가 3000인 패킷 tcpdump dst port 3000 # 목적지 포트가 3000인 패킷 tcpdump -w tcpdump.log # tcpdump.log 파일에 결..

    netstat

    netstat netstat은 전송제어 프로토콜, 라우팅 테이블, 네트워크 인터페이스, 네트워크 프로토콜 통계 정보를 출력하는 명령어 사용법 netstat -r: 라우팅 정보 -i: 인터페이스 정보 -s: 통계정보 -n: 이름으로 표시하지 않음 (예: 포트 8080을 http-alt로 표시하지 않음) -N: 하드웨어 이름으로 표시 -p: 프로그램 pid/프로그램이름 표시 -c: 연속적으로 확인 -t: tcp 소켓 -u: udp 소켓 -l: 리스닝 소켓 -a: 모든 소켓 netstat -tnlp # 리스닝 중인 tcp 정보를 PID 포함하여 출력 netstat -tn # tcp 연결 정보 출력 netstat -un # UDP 소켓 정보 출력 netstat -an # 모든 소켓 정보 출력

    mtr

    mtr mtr은 traceroute, ping 프로그램 기능을 단일 도구에 결합한 크로스 플랫폼 명령 행 네트워크 진단도구 mtr은 패킷이 mtr이 실행되는 호스트에서 사용자가 지정한 대상 호스트로 이동하는 경로에 대한 정보를 출력 사용법 mtr www.google.com # www.google.com으로가는 traceroute 정보 mtr -n www.google.com # 호스트 네임대신 IP주소로 표시 mtr -b www.google.com # 호스트, IP 모두 표시 mtr -c5 www.google.com # ping 5번 제한 (끝나면 자동종료) mtr -rw -c5 www.google.com > result.txt # result.txt에 결과 저장

    HTTP GET과 POST

    HTTP GET과 POST GET과 POST는 가장 흔이 쓰이는 HTTP 메소드로 클라이언트에서 서버로 요청을 할 때 사용합니다. GET GET 방식은 서버로부터 정보를 조회하기 위해 설계된 메소드입니다. GET 방식은 요청하는 데이터가 URL에 담겨서 전송됩니다. (URL상 ?뒤 key, value로 쌍을 이루는 QueryString이 포함됨) URL상에 포함되서 전송하기 때문에 전송할 수 있는 데이터의 크기가 제한적입니다. 데이터가 URL에 노출이 되기 때문에 보안이 필요한 정보들은 GET방식이 적절하지 않습니다. POST POST 방식은 리소스 생성/변경을 위한 메소드이며 데이터가 HTTP body에 포함되어 전송됩니다. HTTP body는 길이의 제한없이 데이터를 전송할 수 있어 GET방식 보다는..

    SSH 포트포워딩

    SSH 포트포워딩 포트포워딩은 하나의 IP 주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 네트워크 주소 변환(NAT)의 응용입니다. (위키피디아 참조) SSH 포트포워딩은 SSH 서버를 Proxy처럼 활용하여 터널링(tunneling)이라고도 부르며 통신시 SSH를 이용하기 때문에 통신내용이 암호화되어 전송됩니다. 로컬 포트포워딩 SSH Client에 리스닝 포트를 열어 SSH Server의 지정포트에 연결합니다. 아래는 로컬 8080번 포트를 Remote host의 localhost:80에 연결하는 명령어입니다. ssh -L 8080:localhost:80 $REMOTEHOST # 8080 -> $REMOTEHOST의 localhost:80 리모트 포트포워딩 SSH Server에 리스닝 포..

    nmap 명령어

    nmap 명령어 nmap은 호스트나 네트워크를 스캐닝 할 때 사용하는 port scanning tool입니다. nmap을 이용하여 방화벽이 오픈되어있는지 확인할 수 있습니다. 사용법 nmap -sT: TCP open scan -sS: TCP half open scan (세션을 성립하지 않음(스텔스 스캔)) -sF: TCP FIN scan (FIN 패킷을 이용한 스캔) -sN: TCP NULL scan (NULL 패킷을 이용한 스캔) -sX: TCP Xmas scan (FIN, PSH, URG 패킷을 이용한 스캔) -sP: ping을 이용한 스캔 -sU: UDP port scan -O: 대상 호스트의 운영체제 판별 -o: 스캔 결과를 텍스트파일로 저장 -F: Fast scan -sV: service ver..