일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹
- dreamhack
- 비박스
- 시스템해킹
- XSS
- 드림핵
- 네트워크
- 네트워크보안
- 모의해킹
- webhacking
- ftz
- network
- Webhaking
- 웹해킹
- 시스템
- WarGame
- 순서도
- System
- 소프트웨어보안
- hacking
- CodeEngn
- 워게임
- reversing
- bee-box
- 소프트웨어
- TCP
- Web
- 알고리즘
- 해킹
- 리버싱
- Today
- Total
목록Network (42)
Without a Break
보호되어 있는 글입니다.

TCP Client Program Step 1. 소켓 생성 - TCP: SOCK_STREAM 사용 - UDP: SOCK_DGRAM 사용 Step 2. 서버에 연결 - TCP 연결 시작 Step 3. 데이터 전송 TCP Server Program Step 1. 소캣 생성 Step 2. 주소 bind App에서 호스트 컴퓨터에 포트 번호 등록 -> 패킷이 호스트에 도착하면 운영체제가 어떤 앱이 포트 번호에 기반된 수신자인지 알 수 있음. -> 서버는 운영체제에 사용 중인 포트가 무엇인지 알려야 할 필요가 있음. Step 3. connection 대기 (listen) App이 listen()을 호출하여 OS에 App이 클라이언트를 수락할 준비가 되었음을 알림 -> 연결 요청이 수신되면, OS가 3-way ha..

파일 입출력 파일모드 기능 설명 "r" 읽기 전용 파일을 읽기 전용으로 연다. 단, 파일이 반드시 있어야 한다. "w" 쓰기 전용 새 파일을 생성한다. 만약 파일이 있으면 내용을 덮어쓴다. "a" 추가 파일을 열어 파일 끝에 값을 이어 쓴다. 만약 파일이 없으면 파일을 생성한다. "r+" 읽기/쓰기 파일을 읽기/쓰기 용으로 연다. 단, 파일이 반드시 있어야 하며 파일이 없으면 NULL을 반환한다. "w+" 읽기/쓰기 파일을 읽기/쓰기 용으로 연다. 파일이 없으면 파일을 생성하고, 파일이 있으면 내용을 덮어쓴다. "a+" 추가(읽기/쓰기) 파일을 열어 파일 끝에 값을 이어 쓴다. 만약 파일이 없으면 파일을 생성한다. 읽기는 파일의 모든 구간에서 가능하지만, 쓰기는 파일의 끝에서만 가능하다. "t" 텍스트 ..

개요 TCP는 연결형 프로토콜: 종단이 서로 데이터를 송신하기 전에 이들 사이에 연결을 확립 플래그 3문자 약어 설명 S SYN 순서번호의 동기화 F FIN 송신자는 데이터 송신을 종료 R RST 연결의 재설정 (강제 종료) P PSH 수신 프로세스가 가능한 빨리 데이터를 보낸다 . 위의 4개의 플래그가 설정된 것이 없다 연결 확립과 종료 연결 확립 프로토콜 [SYN] 요구 측의 종단은 접속하고자 하는 서버의 포트번호와 클라이언트의 초기순서번호(ISN)를 지정한 SYN 세그먼트를 보낸다. [SYN+ACK] 서버는 서버의 초기순서번호(ISN)를 포함한 자신의 SYN 세그먼트로 응답한다. [ACK] 클라이언트는 서버로부터 보내 온 SYN에 대하여 서버의 ISN+1 ACK로 확인응답을 보내야 한다. => 이와..

TCP가 제공하는 서비스 TCP 서비스 UDP와 같은 네트워크 계층(IP) 이용 UDP와는 완전히 다른 서비스를 응용 계층에 제공 연결지향의 신뢰성있는 바이트스트림 서비스를 제공 => "TCP provides a connection-oriented, reliable, byte stream service" 1. 신뢰성 서비스 1) 정보단위인 세그먼트인 IP로 전송 응용이 보내는 데이터는 TCP가 전송하기 적합한 크기로 나뉘어짐 (반면, UDP는 각 응용이 UDP 데이터그램을 적절한 크기로 만들어 줌) IP 데이터그램 = IP 헤더 + TCP 세그먼트(TCP 헤더+TCP데이터) 2)TCP는 세그먼트를 보낼 때마다 타이머를 설정 수신측으로부터 확인 응답 (ACK) 메세지를 기다림 확인 응답이 오지 않을 경우 ..

UDP Simple, datagram-oriented, transport layer protocol best effort service model : 전송에는 최선을 다하지만 전송 완료는 보장하지 않음 신뢰성 (Reliability)을 전혀 지원하지 않음 : 응용이 쓴 데이터그램은 IP 계층에 전달되지만, 목적지까지 도착한다는 보장은 없음 이로 인해 UDP 응용은 최종 IP 데이터그램의 크기를 고려가 중요하다 => 네트워크의 MTU를 초과하는 UDP/IP 데이터그램이 분할됨 (fragment) IP 데이터그램 = IP 헤더 + UDP 데이터그램(UDP 헤더 + UDP 데이터) UDP Header Port number 필드 sending process와 receiving process 구별에 사용 보통 T..

ARP 개요 전제 : 이더넷 브로드캐스트 네트워크 기본 개념 : 네트워크 인터페이스가 하드웨어 주소를 갖음 응용이나 시스템 관리자에게 인식되지 않은 채 동작 32bit IP 주소 TCP/IP 프로토콜 그룹에서만 동작 물리적 하드웨어 주소 : 독자적 주소체계 데이터 전송 시 목적지 하드웨어 주소를 알아야 함 ARP 기능 IP 주소를 대응하는 물리적 하드웨어 주소로 자동적으로 변환하는 보조적 프로토콜 IP 데이터 그램을 정확한 목적지 호스트로 보냄 여러 가지 형태의 물리적 하드웨어 주소를 처리 점 대 점 접속은 ARP를 사용 안 함 +) ARP, RARP 참고 이미지 ARP 캐시 각 호스트는 매번 ARP를 실행하지 않고 ARP 캐시에 물리적 주소 임시저장 인터넷 주소로부터 하드웨어 주소로 최신 정보 유지, ..
IP 헤더 20byte 16비트 전체 길이(total length) : IP 데이터그램의 총 바이트 길이. 전체길이-헤더길이=데이터 부분의 실제 크기 16비트 식별자(identification) : 한 호스트에 의해 보내지는 각 데이터그램을 식별하기 위해 사용. 데이터 그램을 보내는 순서에 따라 1씩 증가 3비트 플래그 (flags) 13비트 분할 오프셋 : fragment의 시작 위치를 표시 TTL(Time-to live: 8-bit) : 데이터그램의 수명을 제한(라우터 경유 시 1씩 감소) => 패킷이 라우팅 과정에서 루프에 빠지는 것을 방치하기 위한 것 프로토콜(8-bit) : 어느 프로토콜이 IP로 데이터를 보냈는 가를 구분하기 위한 것 => Demultiplexing을 하기 위한 것 header..