Transmission Control Protocol/Internet Protocol

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

HTTPS Packet Capture Tutorial
컴퓨터와 인터넷.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
Part TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜.
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Network Lab. Young-Chul Hwang
Chapter 2. IP Address IP Address의 구성에 대한 자세한 설명과 함께 IP Address를 효율적으로 관리하기 위한 방법인 서브넷팅, 수퍼넷팅, VLSM 등에 대해서 단계별로 접근할 수 있다. 몇가지 예제를 통해서 서브넷팅에 대한 개념을 정리하고.
PHP입문 Izayoi 김조흔.
제 7장 정적 라우팅 프로토콜.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
Load Balancing L4와 L7은 어떻게 동작할까?.
Chapter 02 네트워크에 대한 이해.
ARP의 실험 발표자 : 이직수
9장 데이터 링크층 개요 (Introduction To Data-Link Layer)
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
8장. 원격지 시스템 관리하기.
IP.
Chapter 21 Network Layer: ARP, ICMP (IGMP).
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
10 장 데이터 링크 제어(Data Link Control)
4. LAN의 배선체계 (3장. LAN: Local Area Network)
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
WOL(Wake-On Lan) 컴퓨터공학과 4학년 박기웅.
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
시스템 인터페이스 Lab3 Unix 사용법 실습.
Network Security WireShark를 활용한 프로토콜 분석 I.
Day-04(mon_9.6) Host_PC Router NAT NIC Switch ISP NAT Host Only
2장. 인터넷의 개념과 주소.
22 장 전송층(Transport Layer)
홍익대학교 메일 시스템 구축 그룹웨어 메일 이전 하기.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
제 15 장 BOOTP와 DHCP BOOTP 15.2 동적 호스트 설정 프로토콜.
ACL(Access Control List)
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
네트워크 프로토콜.
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
Network 네트워크 이론 및 실습 TCP / IP 4장.
10 장 데이터 링크 제어(Data Link Control)
10 장 데이터 링크 제어(Data Link Control)
01. 라우팅 및 원격 액세스의 개요 라우팅은 패킷을 송신지부터 수신지까지 어떠한 경로를 통해 보낼 것인지를 결정하는 방법
Chapter 26 IP over ATM.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Teaming pms.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
Ping Test.
(Dynamic Host Configuration Protocol)
Addressing the Network – IPv4
Chapter 27 Mobile IP.
라우터의 이해 (보충자료) TCP/IP구성 Ping명령어를 이용한 연결검사 비트와 바이트 10진수/2진수/16진수
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
Part TCP / IP 1. TCP / IP 프로토콜 2. 기본 프로토콜.
제 13 장 인터넷 그룹 관리 프로토콜 정보통신연구실.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
제 6 장 IP 패킷 전달과 라우팅 6.1 연결형 서비스와 비연결형 서비스 6.2 직접 전달과 간접 전달 6.3 라우팅 방법
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
Part 05 TCP/IP 1. 네트워크 2. 포트번호.
4. IP 데이터그램과 라우팅 (6장. 인터넷과 IP) IP 데이터그램 : 특정 물리망에 종속되지 않은 가상의 패킷 형식.
ARP.
Presentation transcript:

Transmission Control Protocol/Internet Protocol TCP/IP ㈜ 올앳 나익채 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 목차 가. TCP/IP 개요 나. Network Interface Layer 다. Internet Layer 라. Transport Layer 마. 프로토콜 취약점을 이용한 대표적인 공격 바. TCP/IP 관리 명령어 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 가. TCP/IP 개요 역사 1969년 미국방성의 ARPANet를 위하여 개발된 프로토콜 1982년 프로토콜 모델이 공개되면서, TCP/IP가 인터넷 프로토콜로 지정 1990년 ARPANet 없어짐 1992년 WWW 시작 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol OSI 7계층과 TCP/IP 프로토콜 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol TCP/IP에서 데이터의 전달 과정 T.H : TCP Header I.H : IP Header F.H : Frame Header F.T : Frame Trailer Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 응용층에서 제공하는 주요 프로토콜 분류 Protocol 기능 파일 송수신 FTP NFS 네트워크를 통해 다른 시스템의 파일 시스템을 이용할 때 쓰임 메일 송수신 SMTP 메일서버와 메일서버간의 메일 송수신 POP 메일서버와 메일클라이언트간의 메일 송수신 원거리 접속 Telnet 다른 시스템으로 로그인 할 수 있는 기능 망 관리 SNMP 데이터흐름 정보를 가지고 네트워크 및 시스템의 상태 파악 기타 DNS 호스트이름에 대한 IP Address를 알려주는 기능 HTTP Web 서비스 Protocol FTP  : File Transfer Protocol NFS  : Network File System SMTP : Simple Mail Transfer Protocol POP  : Post Office Protocol Telnet : Telecommunication Network Protocol SNMP : Simple Network Management Protocol DNS  : Domain Name System HTTP : Hyper Text Transfer Protocol Transmission Control Protocol/Internet Protocol

나. Network Interface Layer 실제 네트워크에서 전송매체에 프레임 전송 IP층에서 받은 패킷에 Preamble와 CRC 추가 Preamble : 프레임의 시작을 정의하는 바이트 CRC : 프레임이 손상되지 않았음을 검증하는 수학적 계산값 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 다. Internet Layer IP (Internet Protocol) Address 각각의 컴퓨터를 네트워크에서 유일하게 구분해 줄 수 있는 고유번호 Transmission Control Protocol/Internet Protocol

ipconfig를 이용한 TCP/IP 구성 확인 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP 주소의 이해 IP Address = Network ID + Host ID 집 주소 = 시/도/동 + 번지 다음 예제에서의 2가지 가정 편지의 주소는 "동"과 "번지"만으로 이루어진다. 같은 동에 속한 사람들끼리는 직접 편지를 교환하고, 다른 동으로 편지를 보내기 위해서는 반드시 우체국을 이용해야 한다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Network ID의 이해 1 삼성동 100번지"에 사는 사람이, "대치동 100번지"로 편지를 발송하는 상황 동 = Network ID 번지 = Host ID 우체국 = Router Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Network ID의 이해 2 같은 "동"에 있는 "삼성동 200번지"로 편지를 배달 동 = Network ID 번지 = Host ID 우체국 = Router Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Network ID의 이해 3 "삼성동 200번지"에 살던 [B]라는 사람이 "대치동"으로 이사를 했지만, 주소는 그대로 "삼성동 200번지"를 사용하고 있다고 가정해 보자. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP Address(주소지정) 32비트 4바이트로 구성 0-255 사이의 숫자 지정 10진수로 표기하며, dot로 구분 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP Address 표기 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP Address 체계에서의 가장 큰 수 IANA(Internet Assigned Numbers Authority)에서 관리 ISP (Internet Service Provider)에게 발급 일반 사용자들은 ISP로부터 할당 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP Address 구분 A Class = Network ID(1바이트) + Host ID(3바이트) B Class = Network ID(2바이트) + Host ID(2바이트) C Class = Network ID(3바이트) + Host ID(1바이트) Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 첫 번째 옥텟의 계산 근거 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 첫 번째 옥텟의 계산 근거 A Class 00000000 (가장 작은 수) -> 0, this Network 00000001 (유효한 가장 작은 수) -> 1 01111110 (유효한 가장 큰 수) -> 126 01111111 (가장 큰 수) -> 127 Loopback Address B Class 10000000 (가장 작은 수) -> 128 10111111 (가장 큰 수) -> 191 C Class 11000000 (가장 작은 수) -> 192 11011111 (가장 큰 수) -> 223 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Host ID 범위의 계산 예제 Transmission Control Protocol/Internet Protocol

클래스별 Network ID & Host ID Transmission Control Protocol/Internet Protocol

Subnet Mask & Default Gateway Transmission Control Protocol/Internet Protocol

Subnet Mask & Default Gateway B가 C에게 메시지를 보내고자 할 때, C가 자신과 같은 네트워크에 있는지(로컬인지)?, 다른 네트워크에 있는지(원격지인지)? 결정 IP Address를 이용하는데 IP Address중에서 Network ID부분을 가려낸 다음 Network ID를 서로 비교 자신의 Network ID와 상대방 컴퓨터의 Network ID가 같다면 당연히 같은 네트워크임을 의미 Network ID가 서로 다르다면 서로 다른 네트워크임을 의미 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Subnet Mask IP Address중에서 네트워크ID 부분을 가려내는 역할 잘못 입력하면 통신 불가능 Subnet Mask를 이용하여 상대방 컴퓨터가 로컬인지 원격지인지 판단 예제 B의 Network ID와 C의 Network ID를 계산하는 방법을 그림으로 표현 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 로컬인지 원격인지 결정하는 방법 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Subnet Mask 결정 방법 IP Address 중 Network ID 부분은 “1”로 기록하고, Host ID 부분은 “0”으로 기록한다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Default Gateway 목적지 호스트가 자신과 같은 로컬에 있는지 원격지에 있는지를 판단하여, 원격지에 있는 결과가 나오면 Default Gateway를 이용하여 통신 자신의 네트워크에 있는 라우터의 로컬 인터페이스의 IP Address 만일 목적지 호스트가 자신의 로컬 네트워크에 있다면, Default Gateway는 쓰임새가 없다. Transmission Control Protocol/Internet Protocol

CIDR (Classless InterDomain Routing) 문제가 되는 네트워크에서 Broadcast 통신을 줄이는 방법으로, OSI 네트워크계층의 장비인 Router를 통하여 네트워크를 여러 개의 Broadcast Domain으로 세그먼트화하는 방법 네트워크를 여러 개로 나누면, 각각의 네트워크에서 발생되는 Broadcast 패킷은 해당 네트워크에 한정되기 때문에, 그만큼 효율적인 네트워크의 사용이 가능해 진다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Subnetting 계산 방법 회사에서 필요로 하는 네트워크의 수 결정 향후 확장을 고려 예제에서는 4개의 네트워크가 필요 필요한 Network ID를 만들기 위해, bit의 수 결정 22= 4 (4개의 네트워크는 2비트 필요) 서브넷 마스크(User defined Subnet Mask) 계산 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Subnetting 계산 방법 서브넷 ID 계산 서브넷팅된 Network ID (Subnet ID)를 계산 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Subnetting 계산 방법 서브넷별 호스트ID의 범위 계산 예외 000000 : 해당 네트워크 주소 111111 : 해당 네트워크 브로드케스트 주소 207.46.230.1 ~ 207.46.230.62 207.46.230.65 ~ 207.46.230.126 207.46.230.129 ~ 207.46.230.190 207.46.230.193 ~ 207.46.230.254 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Subnetting 계산 방법 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 서브넷팅 빠른 계산 방법 문제 218.55.9.0 C Class Network ID하나를 할당 받았다. 회사에서는 6개의 물리적인 네트워크로 나뉘어 있다. 6개의 네트워크를 지원하기 위한 Subnet ID와 각 서브넷별 Host ID의 범위를 구하면? Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 서브넷팅 빠른 계산 방법 6개의 네트워크를 지원하기 위해 필요한 비트의 개수 산출 : 3개(6<23) 사용자정의 서브넷 마스크를 계산하면 255.255.255.224 Subnet ID 계산 0, 32, 64, 96, 128, 160, 192, 224 Host ID 계산 다음 그림 참조 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 서브넷팅 빠른 계산 방법 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol CIDR 표기법 207.46.230.2/26 26비트가 Network ID Subnet Mask : 255.255.255.192 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 2. Internet Layer 프로토콜 역할 패킷을 목적지까지 전달 종류 IP (Internet Protocol) ICMP (Internet Control Message Protocol) IGMP (Internet Group Message Protocol) ARP (Address Resolution Protocol) RARP (Reserve Address Resolution Protocol) IP는 패킷의 최단경로 제공하지만, 신뢰성은 없다. Transport Layer의 TCP가 재전송 기능을 담당 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP Header의 형식 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP Header의 형식 명  칭 역   할 VERS 인터넷 프로토콜 버전으로 현재 IP는 버전 4 HLEN IP 프로토콜 헤더의 길이 Service  Type 교환하는 데이터의 종류에 따라 지연, 통신효율, 신뢰성의 우선순위를 지정할 수 있음 Total Length IP의 프로토콜 헤더에 계속되는 데이터도 포함한 IP 패킷의 전체 길이 Identification 상위층으로부터 각 IP 데이터그램을 분별하기 위한 식별번호 Flags IP 데이터그램이 분할( Fragment )에 관한 정보를 나타냄 Format  Offset 각 프래그먼트의 원 데이터에 있어서의 위치를 바이트 단위로 나타냄 TTL Time To Live의 약자로 통과가능한 라우터의 남은 수를 나타냄 라우터를 경유할 때마다 이 값이 하나씩 줄어든다. Protocol Type  데이터에 포함되는 상위 프로토콜( TCP :6, UDP :17 )의 종류를 나타냄 Header Checksum IP 프로토콜 헤더 자체의 내용이 바르게 교환되고 있는가를 점검 Source IP A'd  발신원의 IP Address Destination IP A'd 수신처의 IP Address Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol IP와 TCP/UDP와의 관계 Transmission Control Protocol/Internet Protocol

ICMP (Internet Control Message Protocol) IP 프로토콜 내의 에러제어를 위한 프로토콜 ICMP의 제어 메시지는 IP 데이터그램의 데이터부에 실리어 전송 인터넷 초창기에는 통신회선이 끊어지거나 라우터나 서버가 다운돼 패킷을 전달할 수 없을 경우, 이를 해결할 수 있는 메커니즘이 없었다. 따라서 이러한 문제점을 극복하기 위해 패킷을 전달하지 못하는 것에 대한 정보나 에러를 보고할 수 있는 기능을 추가 Transmission Control Protocol/Internet Protocol

ICMP (Internet Control Message Protocol) Error-Reporting Message Destination Unreachable (목적지 전달 불가) : 3 Time Exceeded (시간 초과) : 11 Source Quench (발신지 억제) : 4 Redirect (방향 재설정) : 5 Query Message Echo Request (응답 요구) : 8 Echo Reply (응답 : 정상 상태) : 0 Address Request(주소 요청) : 17 Address Reply(주소 응답) : 18 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol ICMP 메시지 유형 Transmission Control Protocol/Internet Protocol

ARP (Address Resolution Protocol) IP Address를 알고 Mac Address를 모를 때, Data Link 계층의 Mac Address를 알아내는 프로토콜 Local Computer 에서의 ARP 통한 Mac Address 파악 Transmission Control Protocol/Internet Protocol

ARP (Address Resolution Protocol) Remote Computer에서 ARP 통한 Mac Address 파악 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol RARP (Reverse ARP) Mac Address는 알고 있는데 IP Address를 모를 경우 Network 계층인 IP Address 알아내는 프로토콜 Local Computer 에서의 RARP 통한 IP Address 파악 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol RARP (Reverse ARP) Remote Computer에서의 RARP 통한 IP Address 파악 Transmission Control Protocol/Internet Protocol

IGMP (Internet Group Message Protocol) Multicast 메시지와 관련 IGMP를 사용하는 라우터는 멀티캐스트를 받아야할 호스트 컴퓨터를 판단하고, 다른 라우터로 멀티캐스트 정보를 전달 IGMP 패킷은 IP 데이타그램을 통해서 전달 참고 : TCP/IP 통신의 유형 Unicast : 1:1 통신 Multicast : 1:多 통신 Broadcast : 1:all 통신 Transmission Control Protocol/Internet Protocol

Ethernet에서 TCP/IP를 이용한 데이터 전달과정 T.H : TCP Header I.H : IP Header E.H : Ethernet Header E.T : Ethernet Trailer Ethernet Frame = Ethernet Header(14Byte) + IP Header(20Byte) + TCP Header(20Byte) + Data +  Ethernet Trailer(4byte) Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라. Transport Layer Application Layer로부터 받은 Data를 Segment 형태로 만들어 네트워크를 통해 목적지까지 전달 TCP 와 UDP 두 가지 프로토콜 제공 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라. Transport Layer TCP 연결지향형(Connection Oriented) 프로토콜 Segment가 목적지까지 제대로 전달되었는지, 확인응답(Acknowledgment)을 주고받음으로써 신뢰성 있는 전송 Data를 Segment 별로 쪼개서 송신하고 목적지에서 다시 재 조립 3-Way Handshaking 이라는 방법으로 연결설정 Transmission Control Protocol/Internet Protocol

TCP Connection Sequence Transmission Control Protocol/Internet Protocol

TCP Sequence & Acknowledgment Source  : Source Port No  Dest    : Destination Port No Seq    : Sequence       Ack    : Acknowledgment Transmission Control Protocol/Internet Protocol

Windows 2000에서의 netstat -an                                                                                                                                                                         < windows 2000에서의 netstat -an > Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol TCP 프로토콜의 상태 Closed TCP Connection이 종료된 상태 Listen 주어진 Port번호에서 외부에서의 접속을 대기 중인 상태 Syn_SENT Connection을 요청하는 Syn Packet을 보내고 상대방으로부터 Ack Packet을 기다리는 상태 Syn_RCVD Connection을 요청하는 Syn Packet을 수신하고 해당하는 Syn, Ack Packet을 보낸 상태 자신이 보낸 Syn에 대한 Ack를 기다린다. ESTABLISHED TCP Connection이 연결된 상태로 실제 Data가 전송되는 상태 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol TCP 프로토콜의 상태 FIN_WAIT_1 Connection을 종료하는 Fin Packet을 보내고 해당하는 Ack Packet을 기다리는 상태 CLOSE_WAIT Connection을 종료하는 Fin Packet을 수신하고 해당하는 Ack Packet을 전송한 상태 FIN_WAIT_2 Connection을 종료하려고 보낸 FIN Packet을 보낸 후 상대방으로부터 FIN의Ack를 수신한 상태 LAST_Ack Server에서 더 이상 보낼 Data가 없기 때문에 FIN Packet을 보낸 후 해당하는 Ack를 기다리는 상태 TIME_WAIT Server로부터 FIN Packet을 수신한 후 해당하는 Ack를 보낸 상태 Server로 보낸 마지막 Ack가 Server에 도달하지 못할 경우가 가능하므로 지정한 시간까지 대기하다가 종료 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol TCP Segment 형식 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol TCP Segment 형식 명  칭 역   할 Source Port 발신지의 통신 소프트 포트 번호( 임의적인 번호 ) Destination  Port 목적지의 통신 소프트 포트 번호( 고정된 번호 ) Sequence  Number TCP 프로토콜 헤더에 부여되는 연속번호, 도착한 패킷의 순서제어에 이용 Acknowledgment 다음에 수신할 것을 기다리는 시퀀스 번호 이 번호까지 정상적으로 수신 했음을 나타냄 HLEN TCP 프로토콜 헤더의 길이( HLEN:Header Length ) Reserved 사용하지 않고 예약된 부분, 모두가 0으로 되어있음 Code Bits Segment 타입을 나타냄 URG:긴급, ACK:확인, PHS:강제전송, RST:리셋 SYN:동기, FIN:종료 Window Segment 전송중의 송수신 버퍼 사이즈를 지정하기 위해 사용 Checksum TCP 패킷의 내용이 바르게 교환되었는지를 점검 Urgent Pointer 시퀀스 번호에 의한 연속된 데이터보다도 우선하는 긴급 데이터의 교환시 데이터의 어디까지가 긴급 데이터인지를 나타냄 Options 최대의 Segment 사이즈 등을 지정함 Padding TCP 프로토콜 헤더를 32bit 에 맞추기 위해 붙여짐 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Well-Known Port 번호 Protocol Port 번호 Telnet 23 Bgp 179 FTP 21 DNS 53 www 80 Echo 7 POP3 110 SNMP 161 POP2 109 Klogin 543 Whois 43 Kshell 544 Gopher 70 Uucp 540 Transmission Control Protocol/Internet Protocol

Application Protocol 에 따른 Port 번호 Transmission Control Protocol/Internet Protocol

UDP (User Datagram Protocol) TCP와 달리 비연결지향형(Connectionless) 프로토콜 Segment를 보내기만 하고 Acknowledgment를 주고받지 않기 때문에, 제대로 전달되었는지 확인하지 않는 특성(신뢰성 없음) Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol UDP Segment 형식 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol UDP Protocol 과 DNS Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol TCP와 UDP의 차이점 TCP UDP 데이터 전송 형태 연결지향형 데이터전송은 데이터 링크를 확립하고 나서 행한다. 비연결지향형형 데이터전송은 데이터 링크를 확립하지 않고 보낸다. 신뢰성 송신중에 데이터 링크를 유지하고 있으므로 신뢰성이 높다 송신중의 데이터 분실이나 순서 에러에 관여하지 않기 때문에 신뢰성이 낮다 데이터 전송 속도 데이터 흐름제어나 순서제어를 하기 때문에 전송속도가 늦어진다. 흐름제어나 순서제어를 하지 않는 만큼 전송속도의 저하를 피할 수 있다. 포맷 각종 제어를 위한 헤더/트레일러(오버헤더)가 커진다. 오버헤더는 최소화된다. 상위층에의 영향 상위층은 자신의 에러처리 이외에는 관여하지 않아도 좋다. End to End 의 에러처리가 필요 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 마. 프로토콜을 취약점을 이용한 공격 Sync Flooding 공격 Sniffing 공격 1단계 A 클라이언트는 B 서버에 접속을 요청하는 SYN 패킷을 보낸다. 2단계 B 서버는 요청을 받고 A 클라이언트에게 요청을 수락한다는  SYN 패킷과 ACK 패킷을 발송한다. 3단계 A 클라이언트는 B 서버에게 ACK 를 보내고 이후로부터 연결이 이루어지고 본격적으로 데이터가 교환된다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Sync Flooding 공격 공격 원리 앞의 그림에서 악의적인 공격자가 1단계만 요청(SYN)하고, B서버로부터 응답을 받은 후(SYN+ACK), 클라이언트에게 ACK를 보내지 않는다면 어떻게 될까? “Half Open” 상태에서 응답이 올 때까지 75초 동안 대기하다가 초기화한다. 초기화 전까지 연결은 메모리 공간인 백로그큐(Backlog Queue)에 계속 쌓인다. 위조된 새로운 요구가 계속 들어오거나 연결을 초기화하는 속도보다 더 빨리 이루어진다면, SYN 패킷이 어느 정도 백로그큐에 저장이 되다가 결국 꽉 차게 되어 더 이상의 연결을 받아들일 수 없는 서비스 거부 상태 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Sync Flooding 공격 백로그큐가 가득 찼을 경우에, 공격을 당한 해당 포트만 접속이 이루어지지 않는다. 서버에 별다른 부하도 발생하지 않으므로 관리자가 잘 모른다. 다른 DoS 공격과는 달리 트래픽을 많이 유발하는 공격이 아니므로 쉽게 파악이 되지 않는 공격 형태이다. 실제 공격을 당할 때 공격지 IP 를 검출해 보면 모두 ping 이 되지 않는 실제 네트워크에 연결되지 않은 IP 주소이다. 어째서 이런 현상이 일어날까? 무작위로 생성된 IP 를 소스로 한 SYN 패킷을 받은 서버는, 요청을 받은 모든 IP 로 SYN+ACK 패킷을 보낸다. 실제로 해당 IP 를 사용중인 호스트는 SYN 패킷을 보내지도 않았는데, 공격을 받은 서버로부터 영문도 모르는 SYN+ACK 를 받았으므로 이 패킷을 비정상적인 패킷으로 간주하고 해당 패킷을 리셋(RST)하여 초기화 시킨다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Sync Flooding 공격 실제 존재하지 않는 IP 공격을 당한 서버가 해당 IP로 부터  SYN 패킷을 받았다고 판단하여 SYN+ACK 패킷을 발송 후 ACK 패킷을 계속 기다리지만, 해당 IP는 인터넷에 연결되어 있지 않으므로 SYN+ACK 패킷을 받을 수도 없을 뿐더러, 이에 대한 응답으로 ACK 패킷을 발송하지 않을 것임은 불을 보듯 뻔한 것이고, 결국 공격을 받는 서버는 존재하지도 않는 IP로 부터 ACK 패킷을 받을 것만을 기다리며 백로그큐는 가득 차게 되는 것이다.  공격자의 입장에서는 인터넷상에서 라우팅이 되지 않는 IP를 소스 IP로 하여 공격하는 것이 가장 효과적일 것이다. 인터넷에 연결되어 있는 IP 를 소스 주소로 하여 SYN Flooding 공격하는 것은 의미가 없다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 공격 탐지 방법 netstat 시스템의 각종 네트워크 정보를 알려주는 명령어 네트워크 연결, 라우팅 현황, 인터페이스 통계 등의 정보 netstat -na 로 확인해 보면 Local Address,  Foreign Address,  State 등의 정보가 출력 실제 공격당하고 있는 호스트에서 netstat –na Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol netstat –na Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol CRON 을 이용한 공격을 감지방법 #!/usr/bin/perl       $TASK = `netstat -na|grep SYN_RECV`;       $HOSTNAME = `/bin/hostname`;       $TO_MAIL = 'antihong@tt.co.kr';    #사용자메일주소          $SUBJECT = "$HOSTNAME SYN_FLOODING 공격 감지";       $MAIL_PROGRAM  = "/usr/sbin/sendmail";       if ($TASK){        $TASK_CONFIRM = `netstat -na|grep SYN_RECV|wc -l`;        if($TASK_CONFIRM > 20){            #공격중이면 데몬 restart       `/etc/rc.d/init.d/httpd stop`;       `/etc/rc.d/init.d/httpd start`; Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol CRON 을 이용한 공격을 감지방법        $HTTP_DONE ="httpd was Refreshed!!\n";        }       open(MAIL, "|$MAIL_PROGRAM -t");           print MAIL "To: $TO_MAIL \n";           print MAIL "Subject: $SUBJECT \n\n";           print MAIL "$HOSTNAME Server is Attacked by             SYN_Flooding!!!\n";            print MAIL "SYN_Flooding Process Number :$TASK_CONFIRM \n";           print MAIL "$HTTP_DONE\n";           print MAIL "$TASK \n";       close(MAIL); Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol CRON 을 이용한 공격을 감지방법 위 파일을 /etc/cron.5min/ 이라는 디렉토리에 두고 실행할 수 있도록 권한을 700으로 설정 /etc/crontab 파일을 열어 아래 내용을 추가하면 5분마다 SYN_Flooding 여부를 체크하여 공격이 확인시 지정된 메일 주소로 통보해 준다. 59/5 * * * * root run-parts /etc/cron.5min/ Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 대응책 라우터나 방화벽에서 차단 인터셉트(Intercept) 모드 라우터로 들어오는 SYN 패킷 요청을 그대로 서버에 넘겨주지 않고 라우터에서 일단 가로채어 서버를 대신하여 SYN 패킷을 요청한 클라이언트와 연결을 맺고, 연결이 정상적으로 이루어지면 이번에는 클라이언트를 대신하여 서버와 연결을 맺은 다음 두 연결을 투명하게 포워딩하여 연결시켜주는 방식 와치(watch) 모드 인터셉트 모드와는 달리 라우터를 통과하는 SYN패킷을 그대로 통과시키고 일정 시간 동안 연결이 이루어지지 않으면 라우터가 중간에서 SYN 패킷을 차단하는 방식 Transmission Control Protocol/Internet Protocol

Routing이 안 되는 IP Address 0.0.0.0/8           - Historical Broadcast 10.0.0.0/8          - RFC 1918 에 의한 내부 네트워크 127.0.0.0/8         - Loopback 169.254.0.0/16   - Link Local Networks 172.16.0.0/12     - RFC 1918 에 의한 내부 네트워크 192.0.2.0/24       - TEST-NET 192.168.0.0/16   - RFC 1918에 의한 내부 네트워크 224.0.0.0/4         - Multicast D Class 240.0.0.0/5         - 예약된 E Class 248.0.0.0/5         - 미할당 255.255.255.255/32  - 브로드캐스트 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 대응책 HOST단에서의 차단 방법 백로그큐를 늘려준다. 백로그규 설정 방법 Linux [root@net /root]# sysctl –w net.ipv4.tcp_max_syn_backlog=1024 또는 [root@net/root]# echo 1024 >  /proc/sys/net/ipv4/tcp_max_syn_backlog AIX /usr/sbin/no -o clean_partial_conns=1 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 대응책 Solaris /usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q 1024 /usr/sbin/ndd -set /dev/tcp tcp_conn_req_max_q0 2048 HP-UX /usr/sbin/ndd -set tcp_syn_rcvd_max 1024 /usr/sbin/ndd -set tcp_conn_request_max 200 Windows NT & 2000 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol sniffing 공격 내부 네트워크 동작 원리 Transmission Control Protocol/Internet Protocol

arp broadcast를 tcpdump로 잡은 모습 Transmission Control Protocol/Internet Protocol

ARP Cache와 Gratuitous ARP 한 번 접속할 때마다 매번 arp broadcasting을 하고 reply를 해야 한다면 그만큼 불필요한 프로세스가 발생하게 되고 많은 오버헤드가 유발 라우터 및 서버 등 각 장비에서는 arp broadcast와 reply를 한 후에는 이 정보를 바로 폐기하지 않고 일정 시간 동안 캐시 기종과 계열에 따라 다소의 차이는 있지만 많은 데이터의 교환이 있는 라우터는 통상 4시간, 서버는 60 초 동안 캐시 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Soft Kernel 튜닝 sysctl -w kernel_parameter=value으로 적절히 조절 # sysctl -a|grep gc_stale_time net.ipv4.neigh.eth0.gc_stale_time = 60 net.ipv4.neigh.lo.gc_stale_time = 60 net.ipv4.neigh.default.gc_stale_time = 60 arp 캐시 정보 확인 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라우터의 arp 캐시 arp 캐시는 해당 서버에 접근하는 모든 클라이언트나 서버에 대해서 캐시하는 것이 아니라, C Class 로 netmask 되어 있을 경우 해당 영역만 캐시 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 가끔 서버나 PC의 이더넷 카드를 변경하였을 때 바로 인식이 되지 않고 빠르면 몇 분, 길게는 4시간까지 기다린 후에야 네트워크가 다시 작동하는 것을 경험해 보았을 것이다. gratuitous arp 는 로컬 랜상의 arp 캐시 정보를 업데이트하는 arp 로서 이를 실행하면 모든 캐시 정보를 바로 업데이트 할 수 있다. # /usr/sbin/send_arp 211.47.65.1 HHHH 211.47.65.255  ffffffffffff Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol MAC 주소의 확인 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Switch 와 Dummy 허브 dummy 환경 모든 포트가 하나의 세크먼트 arp 요청과 응답, tcp 3 way handshake, 데이터 교환이 모든 과정이 broadcasting 되어 B 에서도 A와 C 간의 통신을 엿볼 수 있으나, 모든 포트가 같은 대역폭을 공유해서 사용하므로 Node가 많아 질수록 속도가 떨어진다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Switch 와 Dummy 허브 switch 환경 각각의 포트가 하나의 세크먼트 arp 요청만이 broadcasting 하며 arp 응답, tcp 3 way handshake, 데이터 교환 모두 A 와 C 간에 unicast 로 작동하기 때문에 B 에서는 A 와 C 간의 통신을 엿볼 수 없게 된다. 여기에서 B처럼 자신을 출발지 또는 목적지로 하지 않은 A 와 C 간의 통신을 엿보는(?) 일련의 행위을 스니핑(Sniffing) 한다고 한다. 각각의 포트가 각각의 대역폭을 가지고 있으므로 Node수에 따른 속도 저하가 거의 없다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 스니핑이 가능한 이유 첫 번째는 dummy 환경에서는 모든 패킷을 broadcast 하여 직접적인 통신과는 관계없는 다른 PC나 서버에서도 다른 시스템의 패킷을 캡처할 수 있다는 특성을 이용한 것이고, 두 번째는 인터넷의 표준 프로토콜로 사용중인 TCP/IP 의 전송 방식이 암호화하지 않은 Plaintext를 사용한다는 점을 이용한 것이다. 기본적으로 목적지 IP가 자신의 IP가 아닌 패킷은 이더넷에서 패킷을 드롭(drop)하는 특성이 있기 때문에, Plaintext 방식으로 broadcasting 한다고 모든 패킷을 스니핑 할 수 있는 것은 아니다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol promiscuous (무차별)모드 스니핑을 하려면 자신의 목적지가 아닌 패킷도 받아들여야 하는데, 그렇게 하려면 인터페이스가 promiscuous (promisc)모드로 작동하도록 설정해야 한다. promisc 모드로 설정되면 이더넷에서 패킷을 드롭하지 않고 모든 패킷을 다 받아들이게 되어 스니핑이 가능하게 된다. promisc 모드를 설정하려면, # ifconfig eth0 promisc 설정을 해제하려면, # ifconfig eth0 -promisc Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol promisc 설정 여부 확인 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Windows 계열의 스니퍼 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Solrais의 스니퍼                                                                                                                                                                  <그림13> Solrais의 스니퍼 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol sniffing 탐지방법 리눅스의 경우 ifconfig를 실행시 PROMISC가 설정 되었는지 여부로 확인 관리하는 서버가 여러 대라면 매번 로그인하여 ifconfig 로 PROMISC 설정 여부를 확인하겠는가? 만약 ifconfig 실행파일 자체가 변조되어 ifconfig 결과를 신뢰할 수 없다면? Sentinel과 AntiSniff 이용 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Sentinel 미리  패킷 캡처 라이브러리인 Libnet 1.0과 libpcap 가 설치 http://www.packetfactory.net/Projects/libnet ftp://ftp.ee.lbl.gov/libpcap-0.4.tar.Z 다운로드 받아 압축 해제 후, 압축이 풀린 디렉토리에서 ./configure; make ; make install 로 설치 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Sentinel http://www.packetfactory.net/Projects/sentinel/ 다운로드후 압축 해제를 하고, 압축이 풀린 디렉토리에서 make all 로 컴파일하여 설치 원격지에서 스니핑 여부를 감지하는 방법 DNS test Etherping test ARP test Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol DNS test 목적지 서버에 위조된 연결 요청을 보내어, 일반적인 스니핑 프로그램이 요청한 시스템의 IP 주소를 역리졸브(Inverse DNS lookup) 한다는 특징을 이용하여 DNS 트래픽을 감시하여 스니핑 여부를 감지하는 방법 #./sentinel -d -f 1.1.1.1 -t 211.47.65.4 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Etherping test 목적지에 ping  패킷을 보낼 때 목적지의 IP 는 맞지만 목적지의 MAC 주소는 존재하지 않는 정보로 위조하여 Icmp Echo Packet 을 보내어 응답이 오는지 여부를 감시하는 방법 대부분의 정상적인 시스템에서는 존재하지 않는 MAC 정보이기 때문에 패킷에 대해 응답하지 않지만 promisc mode가 설정된 시스템에서는 이와 관계없이 응답을 한다는 특징을 이용하여 감시하는 방법 #./sentinel -e -t 211.47.65.4 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol ARP test IP는 목적지 IP로 설정하지만 목적지의 MAC 주소를 다르게 하여 icmp 대신 ARP 요구를 보내는 방법 Promisc 모드가 아닌 경우에는 패킷이 목적지까지 갈 수 없으므로 목적지에서는 응답하지 않지만 Promisc 모드인 경우에는 모든 패킷을 받아들이므로 결국 응답한다는 특징을 이용하여 감시하는 방법 #./sentinel -a -t 211.47.65.4 3개의 테스트를 동시에  수행 #./sentinel -t 211.47.65.4 -f 1.1.1.1 -d -a –e  Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 실행 결과 Results: 211.47.65.4 tested positive to etherping test. 위와 같이 탐지 결과가 positive 가 나오면  Promisc 모드로 설정되었다는 의미 세 가지 방법 중에 어느 하나라도 positive 라는 결과가 나온다면 반드시 스니핑 작동 여부를 확인 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 대응책 Plain text로 전송되는 TCP/IP 대신 암호화 전송 프로토콜을 사용 telnet 대신 SSH http 대신 https(SSL 웹서버) broadcasting을 하는 dummy 대신 스위치를 사용 기업간 통신시 암호화된 통신을 지원하는 가상 사설망인 VPN(Virtual Provate Network)을 사용 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 스위치 환경에서 가능한 스니핑 기법 MAC Flooding 위조된 MAC을 지속적으로 발생시켜 스위치의 ARP 테이블을 Flood 시키는 방법 fail open ARP Spoofing 스니핑하고자 하는 서버인 것처럼 MAC을 위조한 패킷을 Broadcast 하여 트래픽을 포워딩 공격자는 net.ipv4.ip_forward=1 로 설정 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 스위치 환경에서 가능한 스니핑 기법 ARP Redirect 자신이 마치 Gateway 인 것처럼 위조된 MAC 을 Broadcast하여 모든 트래픽이 자신을 통과하게 하는 방법 공격자는 net.ipv4.ip_forward=1 로 설정 MAC Duplicating 스니핑하고 싶은 서버의 MAC주소와 같은 MAC 정보로 설정 Hunt Dsniff http://www.monkey.org/~dugsong/dsniff Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 스니핑 차단하기 IP Flitering 각각의 포트에서 오가는 트래픽을 필터링 Port security MAC Flood 나 MAC Spoofing을 예방 각각의 포트에 물리적인 MAC 주소를 정적(Static)으로 설정 ARPWatch ARP 트래픽을 실시간으로 모니터링하여  MAC 주소와  IP 간의  매칭을 감시하는 프로그램 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 바. TCP/IP 관리 명령어 ARP(Address resolution protocol) 명령 Ping 도구 tracert (traceroute) 명령 IPConfig (ifconfig) 도구 PathPing 도구 (window 계열) Route 도구 Netstat 명령 NBTStat 명령 Nslookup 명령 Transmission Control Protocol/Internet Protocol

ARP(Address Resolution Protocol)명령 수동으로 추가된 고정 항목은 캐시로부터 자동으로 제거되지 않는다. 동적 항목은 캐시로부터 자동으로 제거된다. 참조되고 있는 항목은 10분 후에 ARP로부터 제거된다(OS설정에 따라 다름). Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol ARP 사용법 arp -a  현재 Cache된 Mac Address Table을 보여 준다 arp -s  ARP 캐시에 고정 항목을 추가합니다. ARP를 이용한 공격대응이나 기타 변동될 가능성이 없는 Mac등록에 사용된다. 공격이 우려되는 경우 네트워크상의 모든 호스트를 static로 등록하여, 실제로 arp 브로드케스트 공격에 대비한 구성에 사용할 수 있다. arp -d Cache된 Mac Address Table에 남아있는 Mac Table을 삭제하는 명령 네트워크에 참여하고 있는 장비들의 교체가(IP는 같으나 Mac가 변경된다) 있을 경우, 기존의 장비와 통신하던 장비들의 ARP Cache가 Update(10분 정도 Cache됨)되지 않아서 통신이 되지 않는 경우가 종종 발생하는데 이런 경우에 사용할 수 있다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol arp 사용 예제 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Ping 도구 IP 수준에서 연결성을 확인할 수 있는 도구 ICMP 에코 요청 메시지를 전송 사용할 패킷 크기, 보낼 패킷 수, 사용된 경로 기록 여부, 사용할 TTL 값, don't fragment 플래그 설정 여부를 지정할 수 있다. IPSec를 사용하는 컴퓨터의 경우에는 ping에 응답하기 전에 보안 연결을 구축하기 때문에 수 초의 시간이 필요 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Ping 사용법 ping -n 10 ping 10개까지 전송 ping -l ping 패킷의 Size를 정할 수 있다 ping –t 사용자가 취소할 때 까지 실행 ping –f Don't Fragment 플래그 설정으로 목적지까지 패킷이 도달하려면 네트워크 상황에 따라 패킷이 쪼개질 수 있는데 이 옵션을 사용하면 패킷이 쪼개지지 않는다. Transmission Control Protocol/Internet Protocol

플라그멘테이션을 허용하지 않으며 Size 1472로 6개의 패킷 전송 Transmission Control Protocol/Internet Protocol

tracert (traceroute) 명령 IP 패킷이 컴퓨터에서 목적지로 가는데 사용한 모든 홉(패킷이 라우터에서 다른 라우터로의 이동하는 여정)을 보고자 할 때 이용. 목적지까지 찾아가는 경로를 파악할 수 있으나, 귀환경로를 알려주는 것은 아님 Windows 95/98/NT/2000/XP Tracert Linux Traceroute Vitual route GUI를 제공하는 제품 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 사용법 reverse DN 점검 결과를 출력 tracert 164.124.116.4           // Windows 계열 traceroute 164.124.116.4         // UNIX 계열 reverse DN 점검 결과를 출력하지 않음 빠른 속도를 요하는 경우에 사용 tracert -d 164.124.116.4         // Windows 계열 traceroute -n 164.124.116.4    // UNIX 계열 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Reverse Domain Name Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Traceroute의 동작원리 1.1.1.1 에서  목적지 10.10.10.10 에  대해 TTL=1 인 ICMP echo request 를  생성/ 전달 첫 번째 IP 네트워크 장비가 TTL 을 1 을  감소시키고 TTL=0 이  되므로 TTL 이  모자라  더  이상 packet 을  전달할  수  없다는 ICMP time exceed 를 1.1.1.1 에게  전달 1.1.1.1 에서는  이 ICMP time exceed를  보고  목적지까지 가는 경로상의  첫 번째  장비 ip address와 delay를  알아냄. 1.1.1.1 에서 TTL=2 인 ICMP echo request 를  던짐.  목적지까지  가는  경로상의  두 번째  장비가 ICMP time exceed 를  발생시키고 1.1.1.1 에서는  이것으로  두 번째  장비까지의 delay 를  알아냄. 이것이  목적지까지  계속됨 Transmission Control Protocol/Internet Protocol

ICMP time exceed를 부하 때문에 전송 못하는 경우 Transmission Control Protocol/Internet Protocol

ICMP time exceed를 무시하는 경우 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol tracert로 병목 구간 찾기 Transmission Control Protocol/Internet Protocol

IPConfig (ifconfig)도구 호스트의 TCP/IP 관련 구성을 화면에 표시하는 명령 유틸리티 Ethernet 어댑터에 대한 특수한 정보를 나열 Physical Adderss(MAC 주소) IP 주소 서브넷마스크 Windows 계열(ifconfig) Host Name, Primary DNS Suffix, 기본 게이트웨이 Unix계열 Promiscuous 설정 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol ipconfig 사용법 ipconfig/all 시스템 내의 모든 TCP/IP관련 정보를 출력        ipconfig/renew 시스템 내의 모든 인터페이스의 TCP/IP관련 정보를 Update DHCP서버에서 IP를 못 받은 경우나 다시 받아와야 하는 경우 많이 사용 ipconfig/release DHCP서버에게 IP 주소를 반납 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol ifconfig/all 실행 예제 Transmission Control Protocol/Internet Protocol

PathPing 도구 (window 계열) ping 명령과 tracert 명령의 기능을 조합하여 이러한 도구들이 제공하지 못하는 추가 정보를 제공하는 경로 추적 도구 최종 대상에 도달하기 전에 거쳐야 하는 각각의 라우터로 지정된 시간 동안 패킷을 보낸 후 각각의 홉으로부터 반환되는 패킷에 따라 그 결과를 계산 pathping 명령을 통해 해당 라우터나 링크에서 패킷이 얼마만큼 손실되는지 파악할 수 있으므로 네트워크 문제를 유발하는 라우터나 링크를 쉽게 판별 -R -T 옵션을 사용하면 경로에 있는 장치가 802.1P 호환 장치인지 여부와 RSVP 인식 장치인지 여부를 판별 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol pathping 출력 결과 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Route 도구 라우팅 테이블을 보거나 수정 사용법 route print (Unix계열 netstat -r) 경로 목록을 표시 route add 라우팅 테이블에 경로를 추가 route delete  라우팅 테이블에 있는 경로를 제거 route -p 라우팅 테이블에 영구 경로 추가 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라우팅 테이블 예제   Network Destination Netmask Gateway Interface Metric default route           0.0.0.0        0.0.0.0 203.255.113.254 203.255.113.34 1 loopback       127.0.0.0         255.0.0.0          127.0.0.1         127.0.0.1 subnet network     203.255.113.0    255.255.255.0 LAN card 255.255.255.255 Subnet Broadcast 203.255.113.255 Multicast        224.0.0.0         224.0.0.0 Limited broadcast Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라우팅 테이블 설명(열) Network Destination AND 연산을 한 후 패킷의 Destination 주소와 Network Destination을 비교 Netmask 패킷의 Destination 주소에 Netmask를 AND 연산 어떤 Network Destination으로 갈지를 Netmask에서 결정 Interface ( 패킷을 밖으로 보낼 랜카드의 주소 ) Network Destination 이 일치한 Interface 로 패킷을 보낸다 Gateway Interface 를 빠져 나간 패킷이 가야할 곳 자신의 랜카드 주소 또는 로컬 서브넷의 게이트웨이(일반적으로, 라우터) Metric destination 까지의 hop 수 local LAN 은 하나의 hop으로 구성 Metric 은 가장 좋은 라우터경로를 결정할 때 사용 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라우팅 테이블 설명(행) default route 여러 라우팅 테이블을 확인해서 일치하지 않을 경우, default route의 Gateway 로 보낸다. 위에서는 203.255.113.254 로 가게 되며, 일반적으로 라우터의 주소이다. loopback 127.0.0.1 은 software loopback 주소이다. 자기 자신을 가리킨다. subnet network IP 주소의 subnet network 주소를 가리킨다. IP 주소가 203.255.113.34 이고 Subnet Mask 가 255.255.255.0 이므로 AND 연산을 통해 203.255.113.0 이 network 주소가 된다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라우팅 테이블 설명(행) LAN card 자신의 IP 주소를 의미 subnet broadcast 위의 3)번에 나온 203.255.113.0 의 마지막 주소인 203.255.113.255 는 broadcast 로 사용된다. multicast D Class 의 multicast 를 나타내는 행이다. 특정한 그룹에게 메시지를 전달할 때 사용되는 주소이다. limited broadcast 라우터를 통과하지 못하는 broadcast 주소이다. 같은 subnet 상의 모든 host 에 전달된다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라우팅 테이블 검색 순서 Host address Subnet address Network address Default gateway Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 라우팅 테이블 검색 예제 #ping 207.46.131.137 207.46.131.137 과 LAN card 행의 Netmask 열(255.255.255.255)과 AND 연산 : 207.46.131.137 위의 결과값인 207.46.131.137 과 LAN card 행의 Network Destination 과 비교 같으면, LAN card 행의 Interface 로 패킷을 보낸다. 다르면, 검색순서에 따라 다른 라우팅 테이블 비교 일치되는 Network Destination 을 찾지 못하면 default route(0.0.0.0)의 Gateway 로 패킷을 보낸다. 다음 패킷을 보내기 위해 1번부터 반복한다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Netstat 명령 프로토콜 통계 및 현재 TCP/IP 연결을 표시 현재 바인딩하고 있는 모든 포트 정보 표시 호스트에서 어떠한 서비스를 하고 있는지 한눈에 알 수 있다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Netstat 사용법 netstat -a 모든 연결을 표시 netstat -r 라우팅 경로 테이블 표시 netstat -n 스위치를 함께 사용하면 주소와 포트 번호가 이름으로 변환되지 않으므로 실행 속도가 빨라진다. netstat -e (Unix계열은 netstat -i) 이더넷 통계를 표시 netstat -s (Unix계열은 netstat -i) 프로토콜 통계 표시 현재 다른 장비와 연결(Established)되어 있는 포트번호 확인 Transmission Control Protocol/Internet Protocol

netstat -e 이더넷 통계(window계열) Transmission Control Protocol/Internet Protocol

netstat –i 3 이더넷 통계(Unix 계열) Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol NBTStat 명령 Windows 계열만 가능 NetBIOS 이름 확인 문제를 해결하는 데 유용 네트워크에 연결 된 NetBIOS 연결정보 또는 MAC 주소(네트워크 카드의 48비트 하드웨어주소)를 알고자 할 때 유용 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol NBTStat 사용법 NBTStat -n 서버나 리디렉터 등의 응용 프로그램이 로컬로 시스템에 등록한 이름을 표시 NBTStat -c 다른 컴퓨터의 이름 대 주소 매핑이 들어 있는 NetBIOS 이름 캐시를 표시 NBTStat -R 이름 캐시를 지운 후 Lmhosts 파일로부터 다시 읽어 들인다. 이 명령은 잘못된 캐쉬 정보 때문에 통신이 안 되는 경우에 유용하게 사용할 수 있다. Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol NBTStat 사용법 NBTStat -RR 이름 서버를 사용하여 모든 이름을 등록 NBTStat -a name은 name에 지정된 컴퓨터에 대해 NetBIOS 어댑터 상태 명령을 실행 어댑터 상태 명령은 그 컴퓨터의 로컬 NetBIOS 이름 테이블과 어댑터 카드의 미디어 액세스 제어 주소를 표시 NBTStat -s 현재 NetBIOS 세션과 그 상태 및 통계 목록을 표시 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Windows NT 결과 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Windows 2000 server 결과                                                                                                                                                                         <그림 8)> Windows 2000 server Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Windows 98 결과 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol NetBios 고유 이름 서비스 computer_name[00h] Windows NT Workstation 서비스 computer_name[03h] 메신저 서비스 computer_name[06h] RAS 서버 서비스 computer_name[1Fh] NetDDE 서비스 computer_name[20h] Windows NT Server 서비스 computer_name[21h] RAS 클라이언트 서비스 computer_name[BEh] 네트워크 모니터 에이전트 computer_name[BFh] 네트워크 모니터 응용 프로그램 user_name[03] domain_name[1Dh] 마스터 브라우저 domain_name[1Bh] 도메인 마스터 브라우저 그룹 이름 domain_name[00h] 도메인 이름 domain_name[1Ch] 도메인 컨트롤러 domain_name[1Eh] 브라우저 서비스 선택 \\--__MSBROWSE__[01h] Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Nslookup 명령 호스트 이름 확인 등의 DNS 문제 해결에 유용한 도구 명령 프롬프트에서 DNS의 설정 사항을 볼 수 있는 명령어 로컬 시스템용으로 구성된 DNS 서버의 호스트 이름과 IP 주소가 나타난 후 명령 프롬프트 표시 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol Nslookup 사용법 nslookup www.saferzone.com www.saferzone.com의 IP를 resolve함 nslookup >server=210.94.0.7 질의 서버를 210.94.0.7로 바꿔서 query >set q=mx 요청한 도메인의 메일서버를 알려줌 >set q=ns 요청한 도메인의 네임서버를 알려줌 >set q=any 요청한 도메인의 모든 정보를 출력 >ls “도메인” 도메인에 소속된 모든 host 정보를 보여줌 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol www.psi.net 의 IP 주소를 알기 Transmission Control Protocol/Internet Protocol

메일을 보내면 어느 메일서버로 가게 될지를 nslookup으로 확인 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol query 하려는 네임서버를 변경 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol 한국전산원에 등록된 네임서버를 확인 Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol cache 에 남아있는 시간 확인 방법 Transmission Control Protocol/Internet Protocol