카테고리 없음

[ubuntu] 네트워크에 대해서

개발자_이훈규 2014. 4. 11. 17:19

1.

Well-Known prot(웰노운 포트)


잘 알려진 서비스의 포트번호를 나타낸다.

암묵적인 약속으로 특정포트번호가 지정되어 있는 것.


위치 : /etc/service


예 : 20, 21 - FTP 데이터와 제어 명령




2.

echo 서버


7번을 이용하며 기본 설정은 echo 서버에 접속을 못하게 되어 있다.

$telnet localhost 7

이렇게 하면 접속이 불가하다고 뜬다.



3.

telnet의 활용

예 : $telnet time.nist.gov daytime

미국 NIST에서 공개하는 Daytime 서버에 엑세스를 하여 시간 정보를 받아온다.



4.

에코서버를 만들어보자.


echoServer.c


파일을 컴파일 한다.

gcc echoServer.c -o echoServer


그리고 실행시킨다

./echoServer 9999

그러면 9999번의 포트로 해당 프로그램이 돌고 있을 것이다.



새로운 터미널창을 띄운 후 9999번 포트로 접속을 해본다. (그러면 서버에 접속이 된 것이다.)

$telnet localhost 9999

그러면 서버에 접속이 되고 다음과 같은 말이 뜬다.

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.


이것 저것 쳐보다가 종료시엔 ctrl + ] 키를 누른다.

그리고 연이어 close를 누르면 telnet이 종료가 된다.



+) 네트워크 해석

tcpdump로 네트워크 해석을 한다.


예 : 위의 에코프로그램을 실행시키고, 

$sudo tcpdump -i lo

을 하면 루트백 장치인 lo을 감시한다.

여기서 왜 루트백 장치인 lo를 감시하냐면, 현재 실행한 서버는 로컬에서 액세스하므로 실제로 루프백 인터페이스를 거쳐 통신하기 때문에 tcpdump에서 감시할 기기는 이더넷 장치eth0이 아니라 루프백 장치인 lo이다.



추가로 패킷의 내용을 볼 수 있는 '패킷 스니퍼'라는 도구가 존재한다.

$sudo sniffit -a -t 127.0.0.1 -p 9999 -F lo

이렇게 하면 주고 받는 내용까지 볼 수 있다.