Presentation is loading. Please wait.

Presentation is loading. Please wait.

8. Networking 유닉스는 재미있다. 유닉스는 사용하기는 쉽지만 배우기는 어렵다.

Similar presentations


Presentation on theme: "8. Networking 유닉스는 재미있다. 유닉스는 사용하기는 쉽지만 배우기는 어렵다."— Presentation transcript:

1 8. Networking 유닉스는 재미있다. 유닉스는 사용하기는 쉽지만 배우기는 어렵다.
유닉스의 모든 것을 배우는 것은 불가능하다. 필요한 것과 재미있을 것 같다고 생각되는 부분에 관심을 쏟는 것이 좋다. 유닉스는 세련되고 영리한 사람들을 위한 도구의 집합이다.

2 8.1 소개 일반 네트워크 용어 네트워크 구축 방법 네트워크 상에서 다른 사람들과 대화 방법
네트워크 상에서 다른 컴퓨터의 사용 방법 8. Networking

3 8.2 네트워크 구축 serial port 끼리의 연결 Ethernet Bridge Router Gateway
가장 단순한 연결 Ethernet 대표적인 LAN 구성방식, 기계마다 주소 지정 필요  각 컴퓨터 - 고유의 주소, 이더넷 카드 장착  동일한 단일 케이블에 연결  메시지 전송시 - 헤더에 주소 적재  collision 발생시 - random waiting으로 처리 Bridge 적은 수의 Ethernet 네트워크 구역을 직렬로(serial) 연결할 때  Repeater Router Ethernet 네트워크 구역 다 수를 상호(mutual) 연결할 때 Gateway 고용량의 Router로서, LAN에서 WAN으로의 확장 기준 라우터 기능 + 브리지 기능 + 다른 형식 또는 프로토콜로 변환 기능, (예) AppleTalk 라우터 8. Networking

4 8.3 인터넷(Internet) TCP/IP SRI-NIC
TCP(Transport Control Protocl) IP(Internet Protocol) 동일한 주소지정 방식 및 전송 방식 SRI-NIC SRI (Stanford Research Institute) NIC (Network Information Center) 인터넷 상의 LAN에 호스트의 고유 주소 할당 인터넷 Backbone에 어떻게 연결 되는지만 담당 (내부적인 관리는 무관) IP Address vs. Symbolic Address vs. Physical Hardware Address IP Address 8 bit 4 fields = 32 bits Class A, B, C Domain Symbolic Address com (회사), edu(교육기관), gov(정부), org(비영리기관), mil(군용), XX(2자리 국가코드) 8. Networking

5 8.3 인터넷(Internet) Physical Hardware Address: 이더네트 주소
6-octet 수치 콜론으로 분리된 16진수 (예) 20:81:0a:10:c4:93 처음 두 octet은 제작사 코드 Address Mapping Service /etc/hosts Symbolic Address / Host Name / IP Address 간의 변환 Routing Service /etc/defaultrouter GATE(gateway) IP 주소 정의하여 DEST(destination)으로 갈 수 있는 정보 제공 다른 컴퓨터의 명령 수행하기 (rsh) (예) rsh mysung date # mysung is a host name 8. Networking

6 8.3 인터넷(Internet) Port Service
password없이 다른 호스트의 셸을 얻는 두 가지 방법 (둘 중 한가지만 하면 됨)  원격 호스트들의 home directory 상의 .rhosts 화일 안에 이들 호스트들의 symbolic name들을 명시함 (remote command 실행 가능)  시스템 관리자가 /etc/host.equiv안에 globally equivalent computer들의 symbolic name들을 나열함 (password 없이 login가능 / remote command 실행 가능) Port Service 인터넷 호스트들간이 통신은 주소(번호)가 주어진 포트를 통하여 이루어짐 /etc/services 화일은 표준 포트(일반 사용자 용)의 목록을 보여줌 8. Networking

7 8.4 사용자 users : 사용자 표시 rusers: 사용자 표시 who : 더 많은 사용자 표시
local host 상의 사용자 표시 rusers: 사용자 표시 local network 상의 사용자 표시 (단, ruserd이 먼저 실행되어야 함) (형) rusers -al host * (예) rusers –al who : 더 많은 사용자 표시 users와 비슷하며 추가적인 정보가 제공 (형) who [ whoFile ] [ am i ] whoFile의 사례: /var/adm/wtmp (예) who (예) who am i (또는 whoami) (예) who /var/adm/wtmp 8. Networking

8 8.4 사용자 rwho : 더 많은 사용자 표시 w whois : 인터넷 정보 local network에 대한 who 실행
(형) w userId * (예) w mjkim whois : 인터넷 정보 주요 인터넷 위치에 관한 정보를 얻음 (형) whois [ -h hostName ] id hostName은 whois 서비스를 실행하고 있는 호스트로서 보통은 nic.ddn.mil id는 찾고자하는 인터넷 식별자임 (예) whois -h nic.ddn.mil utdallas (예) whois -h nic.ddn.mil 8. Networking

9 8.4 사용자 hostname finger 자신의 local host이름을 알아냄
/etc/rc.local를 통하여 슈퍼유저는 local host의 이름을 바꿀 수 있음 finger 여러 출처에서 모은 사용자들에 관한 정보를 표시 (형) finger userId * - /etc/passwd - $HOME/.plan - $HOME/.project (예) finger (예) finger mysung (예) finger 8. Networking

10 8.5 사용자들과 통신 mesg write wall talk 사용자들간의 통신을 가능(y) 또는 불가능(n)하게 함
한 줄 씩 통신할 때 사용 (형) write userId [ tty ] 다수의 터미날 사용할 때 tty 명시 처음 통신자가 자신의 위치를 알려주는 것이 예의임(write 명령 초기화) 동기화용 상호 규약을 정하는 것이 편리 (예: -o- over, -oo- over and out) 끝낼 때, ^D 사용 wall local host상의 모든 사람들에게 메시지 전송(Broadcasting) (형) wall [ fileName ] talk 분리된 화면 인터페이스를 통해 인터넷 상의 다른 사람과 대화(chatting) 화면 다시 그리기: ^L 종료: ^C (예) talk 8. Networking

11 8.5 사용자들과 통신 mail : 전자 우편 메시지 전송 (형) mail -H [ -f fileName ] userID *
userID가 없으면, 전자우편을 읽는 것으로 간주함 (/user/spool/mail/<userID>에서) f 옵션으로 사용자의 전자우편 보관장소를 지정할 수 있음 H 옵션으로 사용자의 전자우편 보관장소로부터 제목들을 볼 수 있음 전자우편 시작하기 화일 ($HOME/.mailrc) $MAILRC에 이 화일경로가 명시됨 사용자의 요구를 맞추어 구성할 수 있음 특히 유용한 기능 전자우편 그룹 형성 group name userId + (예) group cic kim lee park # in ".mailrc" mail cic < kongmoon 시스템 관리자가 그룹 형성 /etc/mail/aliases에 그룹 등록하고 newaliases 8. Networking

12 8.5 사용자들과 통신 명령 모드 ? 도움말 copy [mesgList] [fileName] 메시지 복사, "saved"라는 표시 없음 delete [mesgList] 메시지 삭제 file [fileName] 우편함 fileName으로부터 우편 읽기 header [message] message를 포함하는 메시지 제목 보이기 mail [userId]+ 전자우편 전송 print [mesgList] more를 이용하여 메시지를 보여줌 quit mail 빠져나옴 reply [mesgList] 메시지의 송신자에게 응답함 save [mesgList] [fileName] 메시지 저장, fileName (default: mbox) 8. Networking

13 8.5 사용자들과 통신 mesgList (전자우편 메시지 집합) mail 보내기 mail 받기 현재 메시지
nn 번호가 nn인 메시지 ^ 지워지지 않은 메시지 중에서 첫 번째 $ 마지막 메시지 * 모든 메시지 nn-mm 번호가 nn부터 mm사이의 메시지 user 사용자 user로부터 온 메시지 mail 보내기 (예) $ mail stu Subject: ……… ^D (예) $ mail stu < letter mail 받기 (예) $ mail (예) $ mail -f mbox (예) $ mail -H 8. Networking

14 8.6 분산 자료 rcp(remote copy) uucp (Unix-to Unix CoPy) ftp
~HOME/.rhosts에 등록된 신뢰하는 unix 호스트들 간의 화일 복사 또는 /etc/host.equiv안에 등록된 globally equivalent computer들의 복사 (형) rcp -pr fileName + directory p 복사 하면서도 마지막 수정시간, 접근시간, 허가권을 보존 r recursively copy (예) rcp file1 mysung:file2 # 원격지 mysung의 같은 홈 디렉토리로 복사 (예) rcp file2 # 원격지 mysung의 stu 홈 디렉토리에 있는 file1을 복사해옴 uucp (Unix-to Unix CoPy) unix 호스트들간의 화일 복사, rcp와 비슷 uucp sourcefile destfile cu, tip 명령 이용 ftp ftp 프로토콜을 지원하는 다양한 호스트들간의 화일 복사 원격지 호스트의 .netrc를 탐색하여 anonymous ftp인지를 검사함(만일 anonymous ftp가 아니면, 계정과 패스워드를 물어봄) ^C 화일 전송 중지 (단, ftp는 지속됨) 8. Networking

15 8.6 분산 자료 ftp의 명령등 !command local host 상에서 명령 command 수행
append localFile remoteFile 지역화일을 원격지화일 끝에 추가 bell 모든 화일이 전송된 다음 벨이 울림 bye 원격지 호스트 연결 폐쇄 후, ftp 종료 cd remoteDir 원격지 호스트의 경로 바꾸기 close 원격지 호스트 연결 폐쇄 delete remoteFile 원격지 호스트로부터 화일 삭제 get remoteFile [ localFile ] 원격지 화일을 지역 화일로 복사 help [ command ] 도움말 표시 lcd localDir 지역 호스트의 경로 바꾸기 ls remoteDir 사용중인 원격지 호스트의 호일 목록 보기 mkdir remoteDir 사용중인 원격지 호스트에 디렉토리 만들기 open hostNane [ port ] 호스트 연결 시도 8. Networking

16 8.6 분산 자료 ftp의 명령등 put localFile [ remoteFile ] 지역 화일을 원격지 화일로 복사
pwd 현재 작업 중인 원격지 호스트의 디렉토리 표시 quit bye와 같음 rename remoteFrom remoteTo 원격 화일 이름의 재정의 rmdir remoteDir 사용중인 원격지 호스트에 디렉토리 지우기 8. Networking

17 8.7 분산 처리 rlogin rsh 원격 unix 호스트로의 login
(형) rlogin -ec [ -l userId ] hostName 사용자의 "$HOME/.rhost"에 원격 호스트가 등록되어 있지 않으면 password 검사 escape sequence (~: tilde) -e 옵션으로 이 문자를 바꿀 수 있음 ~  원격 호스트로부터 연결 즉시 폐쇄, ^D(종료)와 동일 ~susp  원격 login을 일시 중시, fg로 재개함 ~dsusp ~susp과 동일.  단, 원격 로그인 세션으로부터의 출력을 지역 터미널로 에코함 rsh 원격 unix 호스트 상에서의 shell 실행 (단 하나의 명령 실행시 유용) (예) rsh [ -l userId ] hostName [ command ] 중지 (^C) (예) rsh cici hostname 8. Networking

18 8.7 분산 처리 telnet telnet 서버를 보유하고 있는 모든 원격 호스트 로의 접근 및 명령어 수행 지원
(형) telnet [ host [ port ] ] escape 명령 (^]) : 명령 모드로 들어감 명령 모드 - close 연결 폐쇄 - open host [port] 호스트 연결 - quit telnet을 중단 - z telnet을 일시 중단 - ? telnet의 명령어 요약 출력 종료: ^] quit (Ctrl-] 후 quit) (예) telnet cic 7 # 보통 7번 포트는 ping-port임(자신의 터미날로 echo) (예) telnet cic 13 # 보통 13번 포트는 현재 시간을 보여주고 종료함 (예) telnet 8. Networking

19 8.8 네트워크 서비스 8.9 네트워크 파일 시스템 : NFS USENET
Sun Microsystems에서 유닉스 네트워크를 위해 개발한 Network File System (BSD 계열) 유용한 기능들 단일 네트워크 화일 계층 구조로의 마운팅 기능 제공 여러 개의 지역 화일 시스템을 RPC (Remote Procedure Call) 다른 기계로의 분산 처리 의뢰 XDR (External Data Representation) 호스트 중심의 데이터 표현 방식 지원 YP (Yellow Page)  NIS, NIS+ (Solaris) password와 그룹 정보를 다루기 위한 Network Database Management system으로 local server들 사이에 분산 저장 8. Networking

20 보충 Berkeley 네트워킹 관리 /etc/hosts : 네트워크 상의 각 이더네트 인터페이스의 IP 주소와 호스트명
/etc/ethers(일부 시스템에서만 사용) : 네트워크 상의 각 이더네트 인터페이스의 이더네트 주소와 호스트명: rarp가 참조 rarp(reverse arp): Solaris의 해당 명령 Bonus! (BOOTP?) arp(address resolution protocol) ‘누가 의 h/w 주소 아니?’ 방송 -> 해당 컴퓨터가 ‘저예요’ 대답 /usr/sbin/arp -a (캐시 내용 출력) 신뢰하는 호스트 개념 rlogin, rcp, rsh 시스템: su가 /etc/hosts.equiv에 리스트 기록 (‘remote-호스트’ 형식) 사용자: $HOME/.rhosts에 신뢰하는 호스트 또는 호스트-사용자 쌍 8. Networking

21 보충 NFS(Network File System) NFS와 자동 마운팅(Automounting)
계정이 없는 다른 호스트의 디스크에 있는 파일 접근 서버 호스트에서 클라이언트 호스트로 파일 시스템 설치 NFS와 자동 마운팅(Automounting) /etc/vfstab에 이용할 모든 파일 시스템을 등록하면 과부하로 파일 서버 및 파일 서버 이용하는 모든 호스트의 성능 저하 -> 자동 마운팅으로 기계 의존성 줄임 부팅시 vfstab의 파일시스템만 설치됨 NIS map에 등록된 자동 설치 가능한 파일 시스템들은 주문형(on demand) 마운팅 접근하기만 하면 자동 설치되었다가 일정시간 사용되지 않으면 조용히 해제됨 Sun의 automount autofs 설치 automount map은 /etc/auto_master에 automountd 디몬 amd (인터넷 에서 얻을 수 있음) 8. Networking

22 보충 NFS 관리 be exported(or be shared) = 파일 시스템이 원격 마운팅(remote mounting)으로 이용 가능하게 되었다는 뜻 서버 호스트 SunOS 등 BSD 계열: /etc/exports (예) /usr -access = natasha:rocky, root=natasha Solaris: /etc/dfs/dfstab에 share명령 삽입하고 재부팅 또는 셸 명령으로 share 실행하고 /usr/lib/nfs/nfsd와 /usr/lib/nfs/mountd 실행 (예) share -F nfs -o rw=mysung:isis, root=mysung /usr/FTP/pub (루트만 접근) 클라이언트 호스트 SunOS 등 BSD 계열: /etc/fstab (예) boris:/export/exec/sun4 /usr nfs r0 0 0 Solaris: /etc/vfstab에 mount 정보 기록하고 재부팅 (예) /isis:/usr/share/man isis:/usr/share/man /tmp nfs yes 또는 셸 명령으로 mount 실행 (예) % mount -F nfs isis:/usr/share/man /tmp dfstab 편집, share, vfstab 편집, mount, umount는 root만 diskless workstation 저렴 network traffic 증가 8. Networking

23 보충 네트워크 디몬(Daemons) daemon: 부팅시 시작되어 단일 태스크를 영원히 수행하는 백그라운드 프로세스
inetd(eye-net-dee) : master daemon /etc/inetd.conf 안의 서비스 요청 받으면 해당 daemon의 사본 실행시키고 일이 끝나면 사멸시킴 ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd shell stream tcp nowait root /usr/sbin/in.rshd in.rshd login stream tcp nowait root /usr/sbin/in.rlogind in.rlogind 등 RPC(Remote Procedure Call) 한 호스트에서 실행 중인 프로그램에서 다른 호스트의 프로시주어를 호출 inetd에 의해 기동 부팅시 개별적으로 기동되는 RPC 디몬 nfsd : NFS daemon rstatd : NIS 서비스 및 성능 통계 위한 디몬 프로그램 번호 + 포트 번호로 식별 well-known port numbers : /etc/services portmap 디몬: /etc/rpc 읽어 프로그램 번호와 IP 포트 번호 매핑 생성 RPC 요청 -> portmap 디몬 -> 포트번호 얻음 실행중인 daemon 찾기 ps -ef 해서 PID가 200보다 작은 프로세스들 8. Networking

24 보충 네트워크 디버깅 도구 ping: 호스트가 살아 있는지 알아보기 netstat: 네트워크 상태 알아보기
$ ping lion.inchon.ac.kr netstat: 네트워크 상태 알아보기 네트워크 연결상태: $ netstat -a 인터페이스 구성 정보 조사: $ netstat -i 경로배정표 조사: $ netstat -r 네트워크 프로토콜 운용 상의 통계: $ netstat -s traceroute: IP 패킷이 목적지에 도착하기 위해 방문하는 게이트웨이의 순서 추적(root만 실행 가능) free s/w -> download install: tar -xvf tracert.tar $ traceroute eecs.mit.edu traceroute to eecs.mit.edu( ), 40 bytes packets engr-gw-cr.cs.colorado.edu 3ms 2ms 2ms snoop: 통신량 감시기, 패킷 감시자(root만 실행 가능), 네트워크 상의 통신을 감시하다가 사용자가 명시한 조건에 맞는 패킷을 기록하거나 출력 $ man snoop $ snoop $ snoop funky $ snoop -o cap funky pinky $ snoop -i pkts -p99,108 8. Networking

25 보충 네트워크 디버깅 도구 … 계속 arp: IP 주소를 하드웨어 주소(이더네트 주소)로 사상하는 커널표에 접근하여 주소사상검사와 관리 $ arp -a (목록) $ arp -d hostname (su가 삭제) $ arp -s hostname (su가 등록) nslookup: name server 검색 $ nslookup cs.mit.edu $ nslookup sar(system activity reporter): 시스템 사용 분석 $ sar -u (CPU 사용율) $ sar -r 5 (메모리 사용량) 8. Networking

26 과제…11월 15일까지 과제: 교재 p373 과제 제출 방법 Bonus! : 교재 p373연습문제 1 또는 2 (각 1점씩)
연습문제 3. 연습문제 4. 과제 제출 방법 제출하지 않는다. Bonus! : 교재 p373연습문제 1 또는 2 (각 1점씩) Bonus!!!!!: multi.inchon.ac.kr 침입 해커와 대결해 방어 성공 (5점) Unix 시스템의 루트 활용 권한 부여 받을 사람 지원하세요! 8. Networking


Download ppt "8. Networking 유닉스는 재미있다. 유닉스는 사용하기는 쉽지만 배우기는 어렵다."

Similar presentations


Ads by Google