본문 바로가기

Dev/Network, Web

(14)
[Network] 리눅스 쉘에서 TCP 패킷 dump! tcpdump 1. 특정 IP로 나가고 들어오는 패킷을 전부 출력: tcpdump host 아이피 2. 특정 IP로 나가고 들어오는 패킷을 파일로 출력: tcpdump -w 파일경로 host 아이피 -> 리스닝하고있다가 ctrl+c 로 종료하면 주고받은 패킷 로그가 파일로 생성됨 -> 이 testdump.log는 tcpdump -r 파일경로 명령어로 쉘에 출력할 수 있음 -> 와이어샤크에서 로그파일을 분석하고 싶으면 파일 확장자를 .log에서 .pcap 으로 수정하고 와이어샤크에서 오픈하면 된다능~케켘
[Network] 리눅스 쉘에서 IP, 포트 열려있는지 확인 현재 서버에서, 특정 IP와 PORT로 tcp 통신이 가능한지 확인하기 위한 명령어 1. echo > /dev/tcp/IP/PORT (상대 ip/port 로 특정 패킷을 보내 tcp연결이 가능한지 확인하는듯함) 2. echo $? -> 정상이면 0, 아니면 1이 출력됨
[Network] 라우터 Access list 시스코 라우터를 기준으로 설명 Access List는 방화벽의 블랙리스트, 화이트리스트처럼 어느 주소를 허용하고 차단할건지 정해놓을 수 있는 라우터 설정이다. 라우터의 특성상 3계층인 네트워크 레이어까지만 차단할 수 있어 방화벽보다는 비교적으로 보안성이 낮다. Access List 종류 - Standard: 출발지 주소를 기준으로 접근 허용/차단 - Extended: 출발지 주소는 물론 목적지, 프로토콜, 포트 등 갖가지 항목을 보고 접근 허용/차단 - Dynamic Access List 규칙 - 여러 정책을 설정하면 처음 설정한 정책(맨 윗줄)부터 차례로 검사한다 - 정책을 만들면 순차적으로 기존 정책 리스트 맨 아래 인덱스에 추가되는데, 인덱스를 수정하거나 특정 인덱스를 제거할 수 없다 - 정책이 하..
[Network] 네트워크 관련 주요 기술 용어 DHCP(Dynamic Host Configuration Protocol) 사용자가 직접 네트워크 장비에 고정으로 IP를 할당하지 않고, DHCP서버에서 자동으로 네트워크 장비(DHCP 클라이언트)에 IP를 배정해주는 프로토콜 VLAN(Virtual Local Area Network) 한 스위치에 있는 인터페이스(포트)를 그룹으로 묶어 네트워크 대역을 분리하는 기술. A라는 PC와 B라는 PC가 같은 스위치에 연결되어있다고 하더라도 자신과 다른 VLAN에 속한 IP와는 통신이 불가능하며, 엄연히 다른 네트워크이기 때문에 통신하려면 L3 스위치나 라우터가 필요하다. Trunk port 여러 VLAN에 다중으로 속해있는 인터페이스. 프레임에 붙은 태그로 어떤 VLAN에 속한 IP인지 확인 Access por..
[Network] 네트워크 대역폭 Bandwidth 우리는 인터넷을 신청할때 SK, KT, LG같은 ISP (인터넷제공회사) 의 광고를 보고 구매한다. 그들은 인터넷 속도가 빠르다고 광고하며 100메가, 500메가, 1기가 등의 옵션을 선택할 수 있게 한다. 당연히 용량이 큰게 비싸고 빠르겠지..근데 왜 빠른걸까?? 사실 이 용량이라는 것은 직접적으로 네트워크의 '속도'를 의미하진 않는다. 100Mbps의 의미는 초당 최대 100메가비트의 데이터를 주고받을 수 있다는 뜻이다. 대역폭은 데이터가 이동할 때 얼마나 빠른 속도로 이동하는지가 아니고, 1초당 얼마나 많은 의 데이터를 주고받을 수 있느냐를 뜻하는 단어이다. 실제로 대역폭에 따라 랜선의 굵기가 다르진 않지만, 대역폭이 크면 랜선의 굵기(데이터 이동 통로)가 굵다고 생각하면 쉽다. 일상적인 비유를 하..
[Network] ICMP 프로토콜 ping, traceroute 네트워크 계층(3계층)에 속하는 ICMP프로토콜을 사용하는 ping, tracert 명령어는 네트워크 오류나 라우팅 경로를 확인하기 위해 주로 사용된다. 윈도우, 리눅스에서 모두 사용할 수 있다. 1. ping ip주소or도메인 (-t 수동 종료시까지 계속 핑을 날림) : 해당 주소로 메시지를 보내 응답이 자신에게 잘 돌아오는지와 얼만큼의 시간이 걸렸는지 확인할 수 있다. 결과 중 TTL(Time to Live)은 OS와 장비 등에 따라 기본값이 다르다. 해당 주소까지 가는데 라우터를 거칠 때마다 TTL기본값에서 -1씩 차감된다. 예를들어, 현재 PC에서 TTL기본값이 128이고 특정 주소까지 가는데에 5개의 라우터를 거쳤다면 ping 결과의 TTL은 123으로 나올 것이다. 라우터를 너무 많이 거쳐 T..
[Network] 도메인? DNS? 도메인==웹사이트 주소? 에 대한 답은, 반만 정답이라고 할 수 있겠다. 컴퓨터의 논리적 주소는 IP 주소이고, 이는 172.217.171.196 같은 숫자 형태이다. 그러므로 어떤 컴퓨터(서버)에 데이터를 요청하기 위해서는 해당 컴퓨터의 IP주소를 알아야 한다, 하지만 우리는 브라우저 주소창에 IP주소가 아닌 문자열로 된 주소를 입력한다. 왜냐하면 사이트마다 IP주소를 다 외우고 기억하기 힘들기 때문인데, 이 편리한 기능을 제공해주는 시스템이 바로 DNS(Domain Name System)이다. 도메인 시스템의 원리를 간단히 요약하자면, DNS Server(네임서버)라는 곳에서 도메인(문자열)이 실제로 어떤 IP(숫자)인지 파악해 저장해두고 있다가, 도메인명으로 요청이 들어오면 IP주소로 바꿔 요청을 ..
[Network] Cookie, Session 쿠키와 세션 쿠키 Http통신은 연결을 요청하고 끝나면 바로 끊어버리는 비연결성, 무상태성이라는 특징을 가지고있기 때문에 서버에 요청을 보낼 때마다 매번 파라미터에 동일한 데이터를 담아 요청해야 한다. 이런 비효율적인 리소스 낭비를 막기 위해 쿠키라는것이 존재한다. 최초로 클라이언트가 서버에 무언가를 요청하면, 서버는 응답 헤더에 쿠키라는것을 담아 클라이언트에게 전달한다. 클라이언트는 브라우저에 이 쿠키를 계속 저장해두고, 동일한 서버로 요청을 보낼 때마다 요청 헤더에 자신이 저장해둔 쿠키를 담아 함께 전달한다. 쿠키에 담기는 데이터는 key-value 형태의 텍스트로 저장되고, 쿠키의 만료시간과 목적지 서버 정보 등이 포함된다. 브라우저에 쿠키를 보관해 놓은 덕분에 우리가 해당 페이지에서 이탈하거나, 브라우저를 닫..