1580, 3/79 회원가입  로그인  
   소유
   http://soyu.cafe2.net
   네 트 워 크 강 좌

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=90 [복사]




━━━━  네 트 워 크   강 좌  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━


네트워크 강좌를 하겠습니다. 네트워크를 알아야 해킹을 한다는것은 여러분

모두 이미 알고 계실겁니다.

쓸때없는 이론을 위한 이론은 안하겠습니다. 그럼 강좌 들어가겠습니다.



1. network

1) tcp/ip란

-> tcp/ip 는 Tansmission Control Protocol/Internet Protocol 입니다.

즉! 전송제어 프로토콜과 인터넷 프로토콜인 만난것이죠.

프로토콜이란 컴퓨터간의 통신을 위해 만들어진 규약 입니다.

즉 1을 보내면 답변으로 2를 보낸다...라는 식으로 약속을 한것이죠.

이 tcp/ip는 인터넷을 위해 만들어진 프로토콜이라고 생각하시면 됩니다.



2) OSI 7 layer

-> OSI 는 표준 제안 모델입니다. 즉 이론상의 네트웍 계층이죠. 많은 프로

토콜은 이 OSI를 기준으로 설명합니다. 7 layer를 상펴보죠.



7 : application 응용프로그램 계층

6 : presentation 표현 계층

5 : session 세션 계층

4 : transport 전송 계층

3 : network 네트워크 계층

2 : datalink 데이터 링크 계층

1 : phisical 물리적 계층(하드웨어)



우리는 여기서 4개의 층만 살펴보면 충분합니다.



(1) datalink

-> 네트워크 인터페이스 층이라고도 불리는 이 층은 하드웨어적인 부분입니다.

디바이스 드라이버와 네트워크 카드 등을 말합니다.



(2) network

-> 이 층은 네트워크에서 패킷을 다루는 일을 합니다. router도 이 층에 속합니다.

**router : 네트워크에서 a-b로 갈수있는 가능한길중 최적의 길을 찾아주는일

비교적 소프트웨어적인 성향을 띱니다.

또 이곳은 우리와 아주 친숙한 ip가 살고 있습니다.



(3) transport

-> 이곳에는 우리와 아주 친숙한 tcp가 살고있는 곳입니다.

테이터의 전송을 위한 층입니다.



(4) application

-> 각종 응용프로그램이 이 층입니다.

telnet, ftp 등 우리가 직접 쓰는 프로그램은 모두 이 층입니다.



자! 그럼 왜 이렇게 층을 나눠놓고 복잡하게 사용하느냐! 하실껍니다. 그 이유는

모든 네트워크의 과정은 저곳으로 차례차례 움직이기 때문입니다.

예를 살펴보죠.



7층 : 이곳에서 telnet을 통해 대화방에 들어가서 안녕이라는 메세지를 보냅니다.

4층 : 데이터를 규칙에 맞게 데이터를 변형합니다.

tcp는 데이터의 전송을 확실히 하려고 만들어진 프로토콜입니다.

3층 : 이곳에서 상대방에게 전송을 합니다.

2층 : 이곳에서는 논리적 신호를 기계적 신호로 바꿔줍니다.

1층 : 이곳에서 전화전을 통해 상대방에게 안녕을 보냅니다.





아시겠죠? 모든 네트워킹은 이 7 layer를 통해 이루어 집니다. 5 6층은 저도 잘

알지 못할뿐 아니라 여러분도 구지 알필요가 없기 때문에 설명을 않했습니다.



3) tcp/ip를 파해쳐 봅시다.

특징을 먼저 살펴보죠.



(1) 확장성

-> 이 프로토콜은 노드가 계속 늘어나도 네트워크의 확장에 문제가 되지 않습니다.

A클레스 B클레스 C클레스 D클레스로 나눌수 있습니다.

이것때문에 확장이 상당히 용이한데... 자 이것을 살펴보죠.

저것은 IP어드레스의 모양을 보면 알수 있습니다.



210.160.134.1



자 여기서 210이 A클레스 ...1이 D클레스 입니다.

한 클레스당 255까지의 확장을 할수가 있습니다. 따라서 255의 4승 만큼의

확장이 가능한것이죠. 한부분당 8BYTE를 차지합니다. 그리고 이 IP가 중복이 되면

상당히 곤란해 집니다. 때문에 InterNIC 이라는 곳에서 관리를 합니다.

만약 제가 c클레스까지 210.160.134 라는 ip를 받았다면 저는 뒤에 1~255까

지의 255개의 ip를 관리할수가 있는것입니다.

210.160.134.1 ~ 210.160.134.255 까지이죠.

(2) 인터넷과의 연결

-> 만약 학교에 있는 컴퓨터들을 lan으로 연결할때 tcp/ip로 연결한다면 나중에

인터넷으로 확장할때 바로 인터넷과 연결할수 있다는 장점이 있습니다.

그리고 인터넷을 하는 프로토콜이라 이 프로토콜은 굉장히 많은 사람이 사용하죠.

(3) 융통성

-> 운영체제나 기타 다른 프로그램을 가리지 않코 호환시켜준다는 장점이 있습니다.

모두 알수 있죠? linux나 unix windows 등등 모두 호환이 됩니다.

(4) 개방성

-> 이 tcp/ip를 사용하여 프로그램을 개발해도 누가 돈을 받거나 하질 않습니다.



(5) 자! 그럼 이제 우리 컴퓨터가 다른 컴퓨터까지 연결될때 까지의 과정을 설명하겠습니다.



만약 우리가 telnet nownuri.net이라고 리눅스에서 입력했다고 가정합시다.



여기서 nownuri.net 은 DOMAIN NAME 이라고 부릅니다. DOMAIN NAME은 IP주소를

우리가 알아보기 쉽게 바꾼것입니다.



그럼 우리는 DNS(DOMAIN NAME SYSTEM)서비스를 하는곳에 접속해서 NOWNURI.NET

이라는 DOMAIN NAME이 어떤 IP를 갖는지 알아냅니다. 이 과정을 name resolution이라고

부릅니다.



그럼 이제 이 ip를 가지고 MAC의 주소를 알아내야 합니다. 이 MAC ADDRESS라는

것은 네트워크 카드의 이 세상에 1개밖에 없는 주소입니다. 컴퓨터는 IP를 가지고 ARP

라는 프로토콜을 통해서 MAC 주소를 알아내고 이제야 비로소야 nownuri에 접속을 요청

하는것입니다. 이 과정은 ip resolution이라고 합니다.

ARP란 프로토콜은 IP->MAC으로 변환시켜주는것입니다. MAC->IP로 변경시켜주는

프로토콜은 RARP 라고 합니다.



접속을 요청할때 telnet프로그램은 스스로 23번 포트로 접속을 요청합니다.

port란것은 네트워크간에 항구입니다. 23번 port는 telnet서비스로 통하는 항구

입니다.

약간의 주요 port를 참고하면...



21 : ftp service

23 : telnet service

25 : sendmail service

80 : http service

111: pop service

513: telnet login service(udp,tcp)



여기서 513포트에 udp와 tcp라는것이 나옵니다. udp는 생소한 단어죠. udp를 설

명하겠습니다.

udp 는 user datagram protocol 의 약자입니다.

이 udp는 전송을 한후 인증을 받지 않습니다. 그에 반해 tcp는 인증을 받죠.

그리고 udp는 데이터를 쪼개는데 사용합니다. 파일전송등에서 잘 사용하죠.



이제 nownuri에 패킷을 보내야 하는데 인터넷에는 수없이 많은 길이 잇습니다.

그 길중에 가장 최적의 길을 ip라우팅 이라고 합니다.



이 과정을 layer입장에서 보면...

점점 하위계층으로 가면서 특정한 정보를 패킷에 답니다.

tcp는 tcp세그먼트를 그리고 ip는 ip해더를 답니다.

이러한 과정을 인캡슐레이션 이라고 합니다.

그럼 나우누리에서는 이 패킷을 받아서 1층부터 7층까지 올리면서 계속 그 정보를

층에 맞게 벗겨냅니다. 그 과전을 디먹티플렉싱이라고 합니다.



지금까지 클라이언트인 우리가 서버인 나우누리에 연결하는 과정을 지켜보았습니다.



(6) 127.0.0.1

-> 이 주소는 자신의 컴퓨터라는 말입니다. 모든 컴퓨터에는 이 주소가 있습니

다.

이것은 localhost라고도 쓰입니다.



(7) 서브넷 마스크(subnet mask)

-> 이것은 아까 잠깐 말한 c클레스까지 받았을때 255개의 호스트를 연결할수 있다.

라고 말씀드린것을 1단어로 표현한것입니다.

그리서 routing을 할때는 이 서브넷 마스크의 최 상위까지 가는데 내가

203.240.178.40 이라는 곳을 라우팅하고 저곳은 c클레스라고 생각하면

난 203.240.178까지만 라우팅을 합니다. 그다음 저곳에서 브로드캐스팅을 통해

203.240.178.40을 찾는것이죠. 이것을 브로트캐스팅이라고 부릅니다.



(8) MTU

-> 최대 한번에 전송할수있는 패킷의 량.

자! 지금까지 네트워크에 대해 TCP/IP와 관련된 부분만 쭉~ 간단하게 살펴보았는데



여러분이 해주실것이 있습니다. TCP와 IP를 추상적으로 나타낸 그림이 있습니다.

그것을 한번 꼭 찾아서 봐주시기 바랍니다.



참고서적 : network bible 해커를 위한 파워 핸드북



  Hit : 16174     Date : 2003/10/05 06:50
[불법/스팸글로 신고하기]



    
asdf network는 해커관련 서적에서 보는거보다는 전문 네트워크서적이 좋을듯 싶은데;; 예는 예일 뿐이고 줄여논건 줄여논것 뿐.. 풀어논거랑 차원이 다름. 2003/10/05
DarkSlayer 음... ㅋㄷㅋㄷ 2003/10/18  
holyshock 전 검색사 자격증을 따서 그런지 복습이 되는군요 :) 2003/10/20  
CHoZza 감사감사 ^^ 2003/12/01  
rage 설명의 명제와증명이 없어서 이해가 않됩니다. 2003/12/28
jojnghan 난왜 이해가않가지?? ㅠㅠ 저런거 이해할라문 어떤거 배워야하죵?? 2004/02/11  
다루 이해하는데 부족함은 없네요 ^^ 2004/02/24
보통사람 흠....이래서 어떻게 사용한다는 건지..ㅡㅡ;; 2004/03/20  
impactly 어렵다아.. 2004/10/09  
xshot 데이터통신시간에 배운거넹-; 2005/02/17  
fgir306 이것도 도움이 되겠군요^^ 2006/01/12  
mama2fafa 좋은자료 감사합니다. ^^* 2006/08/13  
andna 흠.. 잘하신것 같은데 초보가 보기에는 용어가 너무 어려워요.. 2007/01/26  
andna 잘쓰셨네욬ㅋ 2007/01/27  
sporagame123 오 미숙한저도이해가가는데 2007/04/03  
눣鴉싥걚 <a href="http://www.lover-time.net/">눣鴉싥걚</a><a href="http://www.lover-time.net/">눣鴉싥걚楹</a><a href="http://www.lover-time.net/">눣鴉싥걚楹삠궢궎깉</a><a href="http://www.lover-time.net/">눣鴉싥걚궢궎깉</a><a href="http://www.lover-time.net/">꽒뼑 눣鴉싥걚</a><a href="http://www.loves-road.com/">눣鴉싥걚</a><a href="http://www.loves-road.com/">눣鴉싥걚楹</a><a href="http://www.loves-road.com/">눣鴉싥걚楹삠궢궎깉</a><a href="http://www.loves-road.com/">눣鴉싥걚궢궎깉</a><a href="http://www.loves-road.com/">꽒뼑 눣鴉싥걚</a><a href="http://www.like-it-woman.net/">눣鴉싥걚</a><a href="http://www.like-it-woman.net/">눣鴉싥걚楹</a><a href="http://www.like-it-woman.net/">눣鴉싥걚楹삠궢궎깉</a><a href="http://www.like-it-woman.net/">눣鴉싥걚궢궎깉</a><a href="http://www.like-it-woman.net/">꽒뼑 눣鴉싥걚</a><a href="http://www.mysterious-heart.net/">눣鴉싥걚</a><a href="http://www.mysterious-heart.net/">눣鴉싥걚楹</a><a href="http://www.mysterious-heart.net/">눣鴉싥걚楹삠궢궎깉</a><a href="http://www.mysterious-heart.net/">눣鴉싥걚궢궎깉</a><a href="http://www.mysterious-heart.net/">꽒뼑 눣鴉싥걚</a> 2008/10/17
leebc425 무슨 말인지는 대충 음.. 하는데, 마우스오버하면 멀 배웠찌? ㅠㅠ 2009/09/03  
1540   리눅스 설치하기 - 기초편[5]     소유
10/06 9331
1539   해킹당한 서버에서 확인해야할일[9]     소유
09/21 17814
1538   네트워크 개념 휘어잡기 5[10]     소유
09/14 11263
1537   리눅스의 거의 모든 명령어?[314]     소유
10/05 28486
1536   네트워크 개념 휘어잡기 4[14]     소유
09/13 11499
1535   네트워크 개념 휘어잡기 6[10]     소유
09/15 10303
1534   네트워크 개념 휘어잡기 3[17]     소유
09/12 11530
  네 트 워 크 강 좌[17]     소유
10/05 16173
1532   소켓 프로그래밍[5]     소유
09/11 14313
1531   네트워크 개념 휘어잡기 2[16]     소유
09/11 13275
1530   네트워크 개념 휘어잡기 1[24]     소유
09/10 17596
1529   리눅스 명령어 마스터 8 [마지막][44]     소유
09/10 12599
1528   [특별] find 명령어[7]     소유
09/09 14137
1527   리눅스 명령어 마스터 7[8]     소유
09/09 12535
1526   리눅스 명령어 마스터 6[7]     소유
09/08 12522
1525   콘솔과 엑스윈도에서 마우스 사용하기[1]     소유
10/28 8382
1524   [[초급/강좌]] 유닉스 기본 정리[8]     소유
10/09 12645
1523   [[초급/강좌]] 유닉스 주요 명령어[7]     소유
10/09 12609
1522   레이스 컨디션(경쟁 조건)[14]     소유
09/06 13058
1521   리눅스 명령어 마스터 5[8]     소유
09/06 13672
[1][2] 3 [4][5][6][7][8][9][10]..[79]

Copyright 1999-2021 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com