RedHat Linux >> Server Administration for Redhat Linux
|
[목차] |
제1장 네트워크 기초
6. 네트워크 관련 명령어 1. host 사용방법 : # host [-a] host_ip_주소 이 명령어는 호스트의 IP주소를 체크하는 명령입니다. -a 옵션을 사용하면 IP주소에 대한 DNS을 알 수 있습니다. 예 : # host 210.96.126.1 # host leelab.co.kr # 여기에서는 단지 isejong.or.kr호스트의 DNS lookup을 알 수 있습니다. # host -a 210.96.126.1 위에 대한 내용은 DNS 부분을 참조하기 바랍니다.
2. hostname 사용방법 : # hostname [-a(alias name)] [-s(host name)] 이명령어를 통해 시스템의 호스트명을 알 수 있습니다. 그리고 FQDN(Fully Qualified Domain Name) and the DNS domain name을 다른 것으로 바꿔 사용할 수 있습니다. hostname은 /etc/sysconfig/network 또는 /etc/hosts 파일에 기록됩니다. 예 : # hostname # hostname -s # hostname -a www localhost # hostname -i # hostname -f
3. ifconfig 사용방법 : # ifconfig [-a] [-i] [-v] [interface] [up | down] [netmask mask] 이 명령어는 네트워크의 인터페이스 상태를 볼 수 있습니다. 예 : # ifconfig eth0 Link encap:Ethernet
HWaddr 00:50:DA:22:16:1F
보시다시피 이 컴퓨터의 전체적인 인터페이스 상태를 파악할 수 있습니다. 몇가지 용어를 설명하면,
eth0는 첫 번째 이더넷 카드의 설정을 나타내며, lo는 lookback adapter(자기 자신)를 가리키고 있습니다. 그리고 나머지는 인터페이스가 전송할 수 있는 양과 어떤 Interrupt 주소와 I/O 주소가 (Base address:0xec00)사용되고 있는지 등을 나타내고 있습니다. 예 : # ifconfig eth0 210.96.126.1 netmask 255.255.255.0 직접적으로 eth0를 세팅할 수 있습니다. 그 결과는 # ifconfig에서 확인할 수 있고, 이곳에서 인터페이스 장치의 작동을 가동 또는 중지시킬 수 도 있습니다. # ifconfig eth0 up # ifconfig eth0 down 그리고, ifconfig는 /sbin/ifconfig안에서 작동하므로, 일반 사용자는 PATH 가 잡혀있지 않을 때는 /sbin/ifconfig를 실행해서 보면됩니다. Caldera와 RedHat은 /etc/sysconfig/network와 /etc/sysconfig/network-scripts/ifcfg.interface에 저장합니다.
4. netstat 사용방법 : # netstate [-r(라우터 상태)] [-a(모든 네트워크 연결 상태)] [-c(현재상태)] [-i(인터페이스 상태)] [-g(multicast group의 상태)] ...
이명령어는 지금 우리가 사용하고 있는 local의 모든 네트워크 연결 상태를 파악할 수 잇는 명령어입니다. 즉, 프로토콜 통계와 TCP/IP 연결의 현재 상태를 표시합니다. 예 : # netstat Active Internet connections (w/o servers)
지금 LOCAL에서 컴퓨터를 작동하고 있다는 것을 확인할 수 있습니다. 그리고 211.230.176.7:1938이라는 컴퓨터에서 PORT 번호1938을 통하여 수신하고 있다는 것을 파악하고, 프로토콜은 TCP을까지고 통신하고 원격지의 컴퓨터가 UNIX 계열 방식을 사용하고 있다는 것을 알 수 있습니다. 예 : # netstat -r Kernel IP routing table
# netstat -a Active Internet connections (servers and established) # 위에서는 TCP와 UDP에서 사용하고 있는 프로토콜의 상태와 FTP의 사용 포트를 알 수 있습니다. 참고적으로 ICMP는 ping 명령어와 Traceroute명령어에 관계하고 있습니다. 지금의 해킹 사건에서 ICMP를 이용하여 해킹을 하고 있는 경우가 많으므로 보안적으로 해당 PORT 관리가 중요합니다. 5. nslookup 사용 방법 : # nslookup [-query=DNS type][인터넷 호스트 네임 or ip]....... 지금 자기의 컴퓨터와 연결된 DNS 서버이며 다른 사용자가 어떤 사이트를 이용하는지 간접적으로 알 수 있다. [root@w3 ygkang]# nslookup Default Server: isejong.or.kr Address: 210.96.126.1
> 210.96.126.1 Server: isejong.or.kr Address: 210.96.126.1
Name: isejong.or.kr Address: 210.96.126.1
> isejong.or.kr Server: isejong.or.kr Address: 210.96.126.1
Name: isejong.or.kr Address: 210.96.126.1 첫 번째, 네임 서버의 내용이 나오고, 질의를 할 수 있는 프롬프트가 > 가 뜬다. 프롬프트에서 해당 도메인의 이름이나, IP 주소를 입력하면 결과를 얻을 수 있다. Server: isejong.or.kr Address: 210.96.126.1
Non-authoritative answer: yahoo.com preference = 1, mail exchanger = mx2.mail.yahoo.com yahoo.com preference = 1, mail exchanger = mx3.mail.yahoo.com yahoo.com preference = 9, mail exchanger = mta-v18.mail.yahoo.com yahoo.com preference = 1, mail exchanger = mx1.mail.yahoo.com
Authoritative answers can be found from: yahoo.com nameserver = NS3.EUROPE.yahoo.com yahoo.com nameserver = NS1.yahoo.com yahoo.com nameserver = NS5.DCX.yahoo.com mx2.mail.yahoo.com internet address = 216.136.129.14 mx2.mail.yahoo.com internet address = 216.136.129.15 mx2.mail.yahoo.com internet address = 216.136.129.18 mx3.mail.yahoo.com internet address = 216.115.107.17 mx3.mail.yahoo.com internet address = 216.136.129.16 mx3.mail.yahoo.com internet address = 216.136.129.17 mta-v18.mail.yahoo.com internet address = 216.136.129.11 mx1.mail.yahoo.com internet address = 216.136.129.12 mx1.mail.yahoo.com internet address = 216.136.129.13 mx1.mail.yahoo.com internet address = 216.136.129.4 NS3.EUROPE.yahoo.com internet address = 217.12.4.71 NS1.yahoo.com internet address = 204.71.200.33 NS5.DCX.yahoo.com internet address = 216.32.74.10
특정 사이트를 지정하여 DNS 서버에 기록된 정보를 알 수 있다.
- 용어설명 : mx(mail exchanger), NS(네임 서버)
[root@w3 ygkang]# nslookup -q=a yahoo.com Server: isejong.or.kr Address: 210.96.126.1
Non-authoritative answer: Name: yahoo.com Addresses: 216.115.108.245, 216.115.108.243
6. ping 사용방법 : # ping host name or ip [-c count] [-s packet size][-I 인터페이스] ping은 네트워크의 연결이 정상적으로 이루어졌는지를 확인하는 명령어입니다. 즉 원격 컴퓨터에서 TCP/IP프로토콜로 접속 가능한지 알아보는데 사용됩니다. [ygkang@w3 ygkang]$ ping yahoo.com *용어설명 : 64byte(ping 프로토콜의 packet size), ICMP(Internet Control Messages Protocol, 즉 ping과 Traceroute를 포함하고 있다), TTL(Time of Life) 라우터 경유 횟수, 만약에 244 이상이며 그 packet은 소멸되나 그것은 정확하지 못함. [root@w3 /root]# ping -f home2.isejong.or.kr --- home2.isejong.or.kr ping statistics ---
ping에서 -f 옵션을 주면 flood ping 이라고 하여 끊임없이 packet를 보내게 됩니다. 상대편 서버에는 어느 정도의 부하가 걸릴 것입니다. 단, 이 명령어는 root에서만 사용가능합니다. [root@w3 /root]# ping -c 3 isejong.or.kr
이렇게 하면 3개의 ping요청을 지정한 호스트에게 보내게 됩니다. 기본적으로 ping은 56byte의 데이터 부분과 8byte의 header를 포함하여 총 64byte를 전송하게 되는데 만일 이 packet size를 조정하기 위해서는 -s을 사용합니다.
[root@w3 /root]# ping -c 10 -s 1016 isejong.or.kr Warning: no SO_TIMESTAMP support, falling back to SIOCGSTAMP PING isejong.or.kr (210.96.126.1) from 210.96.126.5 : 1016(1044) bytes of data. 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=0 ttl=255 time=1.946 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=1 ttl=255 time=5.556 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=2 ttl=255 time=34.252 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=3 ttl=255 time=1.902 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=4 ttl=255 time=1.893 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=5 ttl=255 time=1.980 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=6 ttl=255 time=6.980 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=7 ttl=255 time=5.755 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=8 ttl=255 time=6.792 msec 1024 bytes from isejong.or.kr (210.96.126.1): icmp_seq=9 ttl=255 time=4.110 msec
--- isejong.or.kr ping statistics --- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/avg/max/mdev = 1.893/7.116/34.252/9.259 ms
7. route 사용방법 : # route add -net ip주소 netmask 인터페이스 # route add -host 호스트네임 or ip인터페이스 # route add default gw 호스트 네임 or ip 이명령어는 라우팅 기능을 제어하는 명령어입니다. 즉, 자신의 라우터를 직접 세팅하는 경우에 사용됩니다.
[root@w3 /root]# netstat -r Kernel IP routing table [root@w3 /root]#
용어 설명
# route add -net 210.96.126.0 netmask 255.255.255.0 직접 사용자가 자기 라우터에 세팅을 하기 위해서 위명령어를 사용합니다. 즉, 정적으로 라우팅 테이블을 만들기 위해서는 -net 명령어를 사용하고 삭제하는 경우에는 delete를 사용합니다. # route add -net 210.96.126.0 netmask 255.255.255.0 gw 210.96.126.254 직접 인터페이스에 IP주소를 사용할 수 있습니다.
# route add default gw 210.96.126.254 # route add default gw 210.96.126.254 eth0 이명령어는 디폴트를 직접 정의한다는 것을 의미합니다. 라우팅 테이블을 세팅을 확인하기 위해서는 # route -n 명령어를 사용합니다. # route -n [root@w3 /root]# route -n Kernel IP routing table [root@w3 /root]# [root@ns /root]# route -n Kernel IP routing table [root@ns /root]#
8. tcpdump 사용방법 : # tcpdump [-c count] [-F file] [-i interface] [-r file]
이명령어는 네트워크 디버깅 툴입니다. 만약에 호스트간에 전송되는 모든 패킷을 추적할 수 있는 툴입니다. [root@w3 /root]# tcpdump Kernel filter, protocol ALL, datagram packet socket ... 생략 <ctrl>+C 위 결과는 한쪽의 호스트에서 다른 호스트에 전송하고 있는 패킷을 표시하고 있습니다. 리눅스서버에서 다른 client에게 send하는 패킷을 볼 수 있습니다. # tcpdump host leelab.co.kr and isejong.or.kr
# tcpdump host 210.96.126.5 and 211.230.176.7
만약에 ftp 서버 상이나 telnet 상에 문제 발생시, tcpdump를 사용하여 점검할 수 있습니다. # tcpdump port ftp # tcpdump port ftp-data # tcpdump port telnet
9. traceroute 사용방법 : # traceroute 호스트 or IP주소 이명령어는 목적지 호스트까지의 router경로를 표시합니다. 일반적으로 /usr/sbin에 있으므로, root에서만 사용 가능합니다. 일반사용자는 /usr/sbin/traceroute와 같이 절대 경로을 전부 써주어야 사용할 수 있습니다. 예 : [root@w3 /root]# traceroute leelab.co.kr traceroute to leelab.co.kr (211.230.176.7), 30 hops max, 38 byte packets [root@w3 /root]# 위 명령의 결과에서 지금 이 컴퓨터는 210.96.126.254에 접속하여 여러 라우터를
경유하여 이랩에 접속하는 상태임을 알 수 있다.
10. pine 사용방법 : # pine pine는 전자우편 프로그램입니다. full-screen SMTP메일 클라이언트입니다. pine는 MIME으로 파일을 첨가할 수 있고 주소록 관리가 가능합니다. # pine pine을 처음 실행하면 환영 메시지가 나타나고, 여기서 Enter키를 누르면, pine개발자에게 전자우편이 전달이 되고 만약에 전달되는 것을 원하지 않을 경우 E를 누르면 됩니다. 도착한 우편의 목록을 보려면 L을 선택합니다.
여기서 INBOX을 선택하며 전자 우편을 확인할 수 있고, 전자우편을 보내기 위해서는 sent-mail 선택합니다. 다음의 예는 INBOX선택하는 경우 전자 우편을 보기 위해서는 목록에 있는 것을 선택하여 Enter 키를 칩니다. 만약에 도착한 우편수가 많은 경우에 Spacebar를 선택합니다.
그리고 어떤 화면에서나 C를 선택하여 전자우편 작성 모드로 가고 위 화면에서 답장을 보내기 위해서는 R을 선택합니다. 위 그림은 답장에 원본 내용을 삽입하여 보낼 것인가 또는 원본을 삽입하지 않고 보낼 것인가를 나타내고 있습니다.
attchmnt:에서 Ctrl+T키를 누르면 파일을 선택할 수 있는 모드가 됩니다. 전자우편의 작성이 끝났으면 Ctrl+X키를 누르면 됩니다. pine를 종료하려면, Q를 누릅니다.
11. finger 사용방법 : # finger username@host 이 명령어를 사용하면, 지금 사용자의 자세한 내용을 파악할 수 있고, 특정 호스트의 정보도 알 수 있습니다. 그러나 대부분 보안의 문제를 일으킬 수 있기 때문에 대부분의 시스템 관리자들은 자신의 도메인 밖에서 접속되는 것을 막습니다. 예 : [jklee@w3 jklee]$ finger Login Name Tty
Idle Login Time Office Office
Phone 지금 현재 사용하는 호스트 네임을 알 수 있습니다. [jklee@w3 jklee]$ finger jklee Login: jklee Name:
(null) [jklee@w3 jklee]$ Login Name Tty
Idle Login Time Office Office
Phone 호스트 네임을 사용하여 그사람이 마지막으로 서버와 접속한 시간과 날짜를 알 수 있습니다.
12. mail 사용방법 : 이 명령어는 가장 기본적인 전자우편 프로그램입니다. 단지 이 프로그램의 기능은 전자우편을 읽고 보낼 수 있는 기능을 가지고 있습니다. 예 : [jklee@w3 jklee]$ mail [root@w3 /root]# mail ... 생략 & 전자우편을 읽기 위해서는 1번을 입력합니다. & 1 Message 1: & h 다시 목록을 보기 위한 명령 & s mail.txt 전자우편을 저장하기 위한 명령어 & d 전자우편을 삭제하기 위한 명령어 & x mbox로 저장되지 않고, 그냥 빠져나갑니다. POP 프로그램을 이용하여 윈도우즈 등에서 메일을 가져가는 경우를 위해 x로 빠져나가야 합니다. & q Saved 1 message in mbox [root@w3 /root]# 메일에서 빠져나가는 명령입니다. mbox로 저장됩니다. 메일을 보내는 방법은 다음과 같습니다. # mail jklee@leelab.co.kr 끝 # 메일 뒤에 보낼 사람의 주소를 입력하고, 제목에는 간단한 내용과 Cc에는 이글을 참조로 받는 사람의 주소를 적습니다. # mail -s "만나자" jklee@leelab.co.kr < mail.txt 위와 같이 하면, 미리 작성한 내용을 보낼 수가 있습니다. 지금은 여러 웹상에서 더좋은 메일 서비스를 하고 있습니다. 단지 이장에서는 리눅스도 메일 서비스 프로그램이 있다고 소개하는 정도로 이해 하기 바랍니다.
13. rlogin 사용방법 : # rlogin [-](소문자L) 호스트 이명령어는 원격으로 로그인할 때에 사용합니다. # rlogin -l w3 rlogin은 안전하지 않기 때문에 기본적으로 /etc/inetd.conf 또는 /etc/xinetd.conf에서 서비스를 중지하고 있습니다. 만약 관리자가 필요하다면 이곳에서 서비스를 시작하고 rlogin에 대한 .rhosts파일을 만들어 두고, 자신이 사용하고 있는 컴퓨터으 ㅣIP주소를 적어서 사용합니다. 다시 말하지만 보안상 문제가 많은 명령어입니다.
14. talk 사용방법 : # talk username [ttyname] 지금 사용하는 사람들끼리 간단한 메시지를 보낼 때는 간편하게 사용할 수 있습니다. 그리고 실시간으로 채팅이 가능합니다. 즉, 로그인하고, 있는 사용자들이 서로 채팅에 사용할 수 있습니다. # talk jklee 단 다른 사람이 이를 수락해야 사용할 수 있습니다 종료는 Ctrl+C키를 치면 됩니다.
15. telnet 사용방법 : # telnet 호스트네임 or IP주소 [PORT] 이명령어는 원격으로 서버에 접속하여 터미널로 사용하게 하는 명령입니다. 뒤에 port번호를 정하면 TCP/IP 서비스에 대한 동작여부를 파악할 수 있습니다. 예 : [root@w3 /root]# telnet 211.230.176.7 22 Trying 211.230.176.7... quit Connection closed by foreign host. 위의 22번 포트는 SSH가 사용되고 있음을 알 수 있습니다 telnet 명령어 정리
[root@w3 /root]# telnet telnet> open 사이트 주소 telnet> quit
16. ztelnet 사용 방법 : # ztelnet 이 명령어는 telnet에다가 zmodem을 추가한 프로그램입니다. ztelnet에서 자료를 다운로드하는 방법은 다음과 같습니다. 다운로드하는 방법은 다음과 같습니다. 다운받을 자료를 선택하고, 명령을 실행하면 전송 프로토콜을 실행하라고 나옵니다. 이때 zmodem을 선택합니다. 그리고 "파일 전송 프로토콜을 실행하라고 나옵니다. 이때 zmodem을 선택합니다. 그리고 "파일 전송 프로그램을 실행시켜주십시오"라는 메시지가 나올 때 Ctrl+] 키를 누릅니다. 그러면 ztelnet 명령어를 입력할 수 있도록 커서가 나타나는데, 이때 rz를 입력하면 됩니다. 이 명령어는 zmodel을 통해 파일을 받으라는 것입니다. ztelnet> rz 파일을 업로드할 때도 마찬가지입니다. zmodem을 구동하라고 할 때 Ctrl+]키를 누르고 sz 파일명을 입력하면 됩니다. 여기서 파일명은 업로드할 파일의 이름입니다. ztelnet> sz text1.hwp 만약 한글이 이상하게 보이거나 줄이 맞지 않은 경우에는 다음과 같이 접속합니다. # ztelnet leelab.co.kr -8 이외에 ztelnet에서 사용되어지는 명령어는 다음과 같다.
17. wall 사용방법 : # wall 내용 지금 컴퓨터에 접속하여 있는 모든 사용자들에게 동시에 텍스트 메시지를 보내는 명령어입니다. 예 : # wall 시스템 종료 5분 전 <Ctrl>+d 그러면, 시스템에 접속한 모든 사용자들에게 메시지가 끄게 됩니다.
18. lynx 사용방법 : # lynx [주소] lynx는 텍스트 전용 www 브라우저입니다. Linux에서 X윈도우 모드로 들어가지 않고도 www 홈페이지 내용을 검색할 수 있습니다.주소를 치지 않고, 들어가면, g키를 눌러서 URL:이 뜨면, www 주소를 적으면 됩니다. 그래픽을 볼 수 없다는 것과 프레임을 동시에 볼 수 없다는 것이 단점이지만 이것이 한편으로 는 텍스트만 빠른 속도로 검색해 줄 수 있다는 장점이 될 수도 있습니다. lynx에서 사용되는 키는 다음과 같습니다. --------------------------------------------------------- g를 눌러, www.chosun.com이라고 연결한 후 아래 화살표키로 링크를 옮겨가면서 보다가 오른쪽 화살표를 눌러 내용을 볼 수 있다.
|
[목차] |