출처 : www.kangho.com, http://www.kangho.com/unix/solaris/net_command.html
가져온 날 : 2003.9.10(수)
--------------------------------------------------------------

Network 관련 명령어( snoop, netstat , ndd ,

Ifconfig, ping , traceroute, rpcinfo.. )

 

Snoop

EX1> broadcast packet을 수집한다.( -v 옵션이 없으면 요약적으로 보여줌 )

#snoop [-v] broadcast

Using device /dev/le (promiscuous mode)

190.250.3.18 -> (broadcast)  ARP C Who is 190.250.3.15, 190.250.3.15 ?      à HACMP로 인한 Broadcast

190.250.3.24 -> 190.250.3.255 UDP D=125 S=127 LEN=73

190.250.3.14 -> (broadcast)  ARP C Who is 190.250.3.21, 190.250.3.21 ?

190.250.3.20 -> (broadcast)  ARP C Who is 190.250.3.15, 190.250.3.15 ?

190.250.3.148 -> 190.250.3.255 RIP R (0 destinations)

190.250.3.46 -> BROADCAST    DHCP/BOOTP BOOTREQUEST

EX2> 특정 IP로 들어오가 나가는 패킷을 Display

#snoop V 6.14.13.3[spa3]

Using device /dev/le (promiscuous mode)
190.250.3.24 -> 190.250.3.255 ETHER Type=0800 (IP), size = 107 bytes

190.250.3.24 -> 190.250.3.255 IP  D=190.250.3.255 S=190.250.3.24 LEN=93, ID=25501

190.250.3.24 -> 190.250.3.255 UDP D=125 S=127 LEN=73

EX3> Binary로 저장 했다가 보기

#snoop o /tmp/snoop.out V 190.250.3.24  ;     #snoop  -Vi /tmp/snoop.out

 

EX4>특정 서비스만 보고 싶을 때

#snoop | egrep iv nfs|ack|contin|ftp

 

EX5>특정 시스템 간의 Packet를 보고자 할 때

#snoop between 210.x.x.2  210.x.x.6

 

Traceroute

최대 30개의 Hop을 보여줌

EX1>

 #traceroute    x.x.x.x         à 가능하면 Hostname으로 Resolv하여 보여줌

 #traceroute n x.x.x.x          à IP Address로만 보여줌

PING

RUP

#rup    

190.250.3.55.12  up  4 days, 48 mins,  load average: 0.00, 0.01, 0.01

  190.250.3.149.1  up 42 days,  2:14,    load average: 1.07, 1.08, 1.09

  190.250.3.100.1  up 68 days, 21:33,    load average: 0.05, 0.03, 0.04

  190.250.3.14.12  up 70 days, 16:39,    load average: 0.32, 0.25, 0.22

190.250.3.20.12  up 70 days, 16:38,    load average: 0.35, 0.22, 0.21

#ping s x.x.x.x

Ndd

-시스템 재부팅 없이 Network에 관련된 Kernel parameter를 조사,조종할 수 있다.

-영구적으로 적용하려면 /etc/system파일에 기술 or- Startup shell script( /etc/init.d/inetinit or /etc/rc2.d,

/etc/rc3.d)에 추가

EX1> hme에관련된 Value들을 Display함

#ndd /dev/hme \?      

     ;

  link_status           ( Read Only )

  link_speed           ( Read only )  

     ;

#ndd /dev/hme link_speed    à 결과값이 1이면 100Mbps, 0 이면 10Mbps임

 

EX2> ip_forwardin값 조정.  

#ndd /dev/ip \?       #ndd /dev/icmp \?      #ndd /dev/arp \?     #ndd /dev/tcp \?
   #ndd /dev/ip ip_forwarding

 0

#ndd set /dev/ip_forwarding 1

#ndd /dev/ip ip_forwarding

 1

Arp

EX1>

    #arp a      ;   #arp d spa3           ; # arp f filename

EX2> 영구적으로 ARP table에 넣고자 할 때

    #arp s spa1 08:00:20:79:35:51 [pub]

EX3>모든 Arp table을 없애고자 할 때

    #ifconfig hme0 down ; #ifconfig hme0 up

 

 

Ifconfig

-Network Interface를 조정한다.

-항상 interface parameter의 값을 조정하기전에 down을 시키는 것이 바람직함

EX1> 일련의 작업

 #ifconfig hme0 down[up]             à network 사용가능여부

 #ifconfig hme0 unplumb[ plumb ]      à network은 사용못하고 driver를 메모리에서 내릴것인가 올릴것인가 여부

EX2> Network Card 없애고 다시 만들기

 #ifconfig hme0

 #ifconfig hme0 unplumb

 #ifconfig hme0     à interface만 인식

 #ifconfig hme0 inet 172.16.100.100 netmack 255.255.255.0 broadcast + up

EX3> 부팅시키지 않고 Virtual Interface 세팅

 #ifconfig hme0:1 plumb 172.16.100.100 up  == #ifconfig hme0:1 plumb ; #ifconfig hme0:1 172.16.100.100

                                                                   netmask 255.255.255.0 broadcast + up

EX4> Ipv6에서 ifconfig

 #ifconfig hme0 inet6

 #ifconfig hme0:1 plumb up

 #ifconfig hme0:1 inet6 down unplumb

Route

EX1>

 #route add net 190.250.1.0  abc   1   à /etc/hosts에 abc는 등록,  1 은 interface 1을 의미

EX2> default route 등록

 #route add default abc 1              à 1을 안주면 default로 interface 0을 지정

EX3>

 #route delete net 190.250.1.0 abc

EX4> routing정보를 reporting

 #route get 190.250.1.0

EX5>

 #route flush

EX6> multicast path 추가

 #route add 224.0.0.0 `uname n` 0

EX7>

 #route add net 190.250.1.0 190.250.3.3 netmask 255.255.255.0

Rpcinfo

-Clinet-Server 환경에서의 통신을 위해서는 모든 Host.가 특정 Port를 가지는 것이 필요하다(ex telnet, rsh 등) 그러나

새로운 서비스가 등록될때마다 NIC의 허가를 받아야 하며 또한 항상 그 서비스의 Port를 /etc/inet/services에 등록하

는 것은 불합리하고 어렵다. 

-이를 해결하고자 vender들은 /etc/rpc에 서비스들을 미리 등록해 놓고 rcpbind( portmap )가 111( Single Well-known Port)번 Port를 LISTEN하고 있다가 /etc/rpc에 등록된 서비스가 요청되면 서버는 arbitrary port를 할당하여 서버스를 하여준다

-rcpbind는 runlevel 2에서 /etc/init.d/rpc에 의해 시작됨

-rpc.nisd, mountd, nfsd등은 시스템 booting 시작됨

-rwalld, sprayd, sadmind등은 inetd에 의해서 시작됨

EX1> 자신의 RPC services들을 Display해준다.

 #rpcinfo

EX2> 특정 Host에 등록된 RPC 서비스를 식별한다.

 #rpcinfo p 190.250.3.24

EX3> 해당 서비스가 등록된 서버들을 식별하여줌

 #rpcinfo b mountd 1

EX4> 지정된 RPC 서비스가 특정서버에서 running하고 있는지 식별

 #rpcinfo u spa3 mountd

EX5> 자신의 서버의 지정 RPC 서비스를 STOP(unregister) 시킴

 #rpcinfo d mountd 1

PROM

PROM 상태에서 Network Troubleshooting

OK> printenv

         ;

     tpe-link-test?    True          à link 상태를 check

     auto-boot?      True        

         ;

OK> setenv auto-boot?  False      à 자동으로 booting을 하지않고 PROM 상태에 머물게 조정함

OK> reset

OK> test net

Lookback test ……… succeeded         à 자체 LAN Card OK

Trancevicer check . Passed            à  HUB까지 OK

OK> watch-net                    à packet을 주고 받으며 Check

OK> setenv auto-boot? True   -or-    OK>setdefaults