[RHEL6] 네트워크 명령어 4탄(ifconfig, mii-tool, nc)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 네트워크 명령어 4탄(ifconfig, mii-tool, nc)

by 찬찬이 아빠 2020. 1. 22.
반응형
  10. ifconfig(네트워크 인터페이스 설정)

 1) 경로 : /sbin/ifconfig

 2) 요약 : 이더넷 카드와 네트워크 환경을 설정

 3) 사용 방법 : ifconfig [인터페이스]

                       ifconfig 인터페이스 [타입] 옵션 | 주소

 4) 옵션

인터페이스 : 인터페이스 이름으로 일반적으로 NIC 설정이 되어 있으면 eth0, eth1, PPP로 연결되어 있다면 ppp0, ppp1을 사용

타입 : 지정한 인터페이스에서 사용한 프로토콜을 지정

            지원하는 프로토콜은 et(TCP/IP를 사용할 때), inet6(IPv6), ax25(AMPR Packet Radio), DDP(Appletalk Phase 2), ipx(Novell IPX) 등이 있음

up : 지정한 인터페이스를 활성화

down : 지정한 인터페이스를 비활성화

 

[-]arp : ARP 프로토콜을 활성화/비활성화

[-]promisc : 무차별 모드를 활성화/비활성화

                    무차별 모드를 활성화하면 인터페이스를 통과하는 모든 패킷을 확인 가능

[-]allmulti : 모든 멀티캐스트 모드를 활성화/비활성화

                   모든 멀티캐스르 모드를 활성화하면 인터페이스를 통과하는 모든 패킷을 받음

metric N : 인터페이스 메트릭을 설정

mtuN : 인터페이스 MTU를 설정

dstaddr addr : PPP 원격 IP 주소를 설정

netmask addr : 인터페이스의 넷마스크를 설정

add addr/prefixlen : 인터페이스에 IPv6 주소를 부여

del addr/prefixlen : 인터페이스에 IPv6 주소를 제거

irq addr : 디바이스에 irq 주소를 지정

io_addr addr : 디바이스의 IO 주소를 지정

mem_start addr : 디바이스의 공유 메모리 시작 주소를 지정

mdeia type : 디바이스의 물리적 타입을 설정

                      물리적 타임에는 10base2(thin Ethernet), 10baseT(twisted-pair 10MBps Ethernet), AUI (externaltransceiver) 등이 있음

[-]broadcast [addr] : 인터페이스의 브로그캐스트 주소를 설정

[-]pointopoint [addr] : 인터페이스의 점재점 모드를 활성화하고, 주소를 설정

hw class address : 인터페이스를 멀티캐스트 플래그로 설정

address : 인터페이스에 IP 주소를 설정

txqueuelen length : 디바이스의  전송 큐 길이를 설정

 

 5) 추가 설명

ifconfig 명령어는 네트워크 인터페이스의 설정을 변경할 수 있습니다. 먼저 -a 옵션으로 IP주소, 브로드캐스트 주소, 넷마스크 정보 등을 확인할 수 있습니다.

 

<인터페이스 활성화/비활성화>

# ifconfig eth0 up
# ifup eth0

# ifconfig eth0 down
# ifdown eth0

 

<기본 게이트웨이 설정>

# route add -net default gw 192.168.1.1

# route
Kernel IP routing table
Destination    Gateway    Genmask    Flags  Metric  Ref   Use  Iface
192.168.1.0      *        255.255.255.0  U   1       0      0    eth0
default        192.168.1.1   0.0.0.0     UG  0       0      0    eth

 

# ifconfig -a
eth0    Link encap:Ethernet HWaddr 00:32:2c:43:4f:2b:3c
        inet addr: 192.168.1.10    Bcast: 192.168.1.255 Mask: 255.255.255.0
        inet6 addr: fd20:23f3:2944:fe3e:2eb0/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1
        RX packets:700 errors:0 dropped:0 overruns:0 frame:0
        TX packets:200 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:131768 (131.7 KB)  TX bytes:23340 (23.3 KB)
        Interrupt:10 Base address:0x2000
        
lo     Link encap:Local Loopback
       inet addr:127.0.0.1  Mask:255.0.0.0
       inet6 addr: ::1/128 Scope:Host
       UP LOOPBACK RUNNING  MTU:16434 Metric:1
       RX packets:90 errors:0 dropped:0 overruns:0 frame:0
       TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:0
       RX bytes:10021 (10.0 KB)  TX bytes:9002 (9.0 KB)

 

예) eth0 인터페이스에 네트워크의 IP와 넷마스크를 설정

# ifconfig eth0 192.168.1.30 netmask 255.255.255.0

# ifconfig eth0
eth0    Link encap:Ethernet HWaddr 00:32:2c:43:4f:2b:3c
        inet addr: 192.168.1.30    Bcast: 192.168.1.255 Mask: 255.255.255.0
        inet6 addr: fd20:23f3:2944:fe3e:2eb0/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1
        RX packets:700 errors:0 dropped:0 overruns:0 frame:0
        TX packets:200 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:131768 (131.7 KB)  TX bytes:23340 (23.3 KB)
        Interrupt:10 Base address:0x2000

 

<참고사항>

1. IP 알리아스 설정

eth0 인터페이스의 알리아스로 eth0:0을 설정합니다.

# ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0
# ifconfig eth0:0
eth0:0    Link encap:Ethernet    HWaddr : 00:43:B4:29:2E:4D
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask: 255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU : 1500 Metric:1

 

2. 인터페이스 무차별 모드 설정 및 확인

무차별 모드는 사전적 의미와 같이 네트워크 내부에서 돌아다니는 모든 패킷 정보를 살펴볼 수 있습니다.

# ifconfig eth0 promisc
# ifconfig eth0
eth0    Link encap:Ethernet HWaddr 00:32:2c:43:4f:2b:3c
        inet addr: 192.168.1.10    Bcast: 192.168.1.255 Mask: 255.255.255.0
        inet6 addr: fd20:23f3:2944:fe3e:2eb0/64 Scope:Link
        UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500 Metric:1
        RX packets:58564 errors:0 dropped:0 overruns:0 frame:0
        TX packets:120 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0
        RX bytes:5626647 (5.3 MB)  TX bytes:23340 (23.3 KB)


# ifconfig eth0 -promisc
# ifconfig eth0
eth0    Link encap:Ethernet HWaddr 00:32:2c:43:4f:2b:3c
        inet addr: 192.168.1.10    Bcast: 192.168.1.255 Mask: 255.255.255.0
        inet6 addr: fd20:23f3:2944:fe3e:2eb0/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1
        RX packets:58564 errors:0 dropped:0 overruns:0 frame:0
        TX packets:120 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0
        RX bytes:5626647 (5.3 MB)  TX bytes:23340 (23.3 KB)

 

 

  11. mii-tool(네트워크 상태 확인)

 1) 경로 : /sbin/mii-tool

 2) 요약 : 네트워크 인터페이스 상태를 확인

 3) 사용 방법 : mii-tool [옵션] 인터페이스

 4) 옵션

 -v, --verbose : 상세한 정보를 출력

 -V, --version : 버전 정보를 출력

 -R, --reset : MII를 기본 설정으로 초기화

 -r, --restart : 자동으로 재시작

 -w, --watch : 인터페이스를 감시하고 변경되는 링크 상태를 출력

 -l, --log : -w 옵션과 함께 링크 상태를 감시할 경우 표준 출력 대신에 로그 파일에 저장됨

 -F media, --force=media : 자동 설정을 off, 강제로 MII를 either 100baseTx-FD, 100baseTx-Hd, 10baseT-FD, 10base-T-HD로 변경

 -A media, ... --advertise=media, ... : 자동 설정을 다시 켜고 자동 설정을 시작, 지정된 미디어 기술만을 알림

 

 5) 추가 설명

mii-tool 명령어는 네트워크 인터페이스의 연결 상태와 속도를 확인할 수 있고, 강제로 포트 속도를 변경할 수 있습니다.

포트 속도 설명
10baseT-HD 10 MB Half Duplex
10baseT-FD 10 MB Full Duplex
100base-Tx-HD 100MB Half Duplex
100ba eTx
FD 100 MB Full Duplex

 

-v 옵션으로 현재 네트워크 인터페이스 속도를 자세히 확인할 수 있습니다.

# mii-tool -v
eth0: negotiated 100baseTx-FD, link ok
   product info:   vendor 08:00:17, model 1 rev 0
   basic mode:     autonegotiation enabled
   basic status:   autonegotiation complete, link ok
   capabilities:   10baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
   advertisiong:   100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
   link partner:   100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

 

-F 옵션으로 10 MB Half Duplex 속도로 변경합니다.

# mii-tool eth0 -F 10baseT-FD
# mii-tool
eth0: negotiated 10baseTx-FD, link ok

 

자동 설정으로 변경하고 동작을 확인합니다.

# mii-tool etho -r
# mii-tool
eth0: negotiated 100baseTx-FD, link ok

 

 

 

  12. nc(네트워크 보기)

 1) 경로 : /bin/nc

 2) 요약 : 네트워크 연결 내용을 출력

 3) 사용 방법 : nc [옵션] [호스트네임] [포트[s]]

 4) 옵션

 -4 : IPv4를 이용

 -6 : IPv6를 이용

 -D : 디버그 소켓 옵션을 활성화

 -h : 사용법 출력

 -i interval : 포트 스캔 시 지정한 초만큼 지연 시간을 둠

 -l : 듣기 모드로 실행

 -n : 호스트명과 포트를 이름이 아닌 숫자로 받음

 -P proxyuser : 프록시 인증을 위한 사용자 명을 지정

 -p port : 원격 접속을 위한 로컬의 포트를 지정

 -q secs : 표준 입력이 끝난 후에 지정한 초(secs)만큼 기다린 후에 종료(-1은 대기 상태에서 빠져 나오지 않음)

 -r : 원격 포트를 랜덤으로 함

 -s source_ip_address : 패킷을 보내는 인터페이스의 Ip 주소를 지정

 -T ToS : ToS(Type of Service)를 지정

 -C : 라인의 끝을 CRLF로 처리

 -U : 유닉스 도메인 소켓을 이용

 -u : UDP 모드로 지정

 -v : 상세한 정보를 출력

 -w timeout : 접속이나 표준 입력이 지정한 시간(timeout) 동안 대기 상태라면 종료

 -x addr[:port] : 프록시 주소와 포트를 지정

 -z : 아무 데이터도 전송하지 않고 단지 리스닝 상태의 데몬을 스캔

 

 5) 추가 설명

nc 명령어는 netcat의 약자로 TCP 연결, UDP 패킷 보내기, TCP와 UDP 포트 검색, 포트 스캐닝, IPv4나 IPv6 등의 네트워크 연결 정보를 출력합니다.

 

아래는 -l 옵션을 사용하여 지정된 1234 포트를 리스닝합니다.

$ nc -l 1234

 

127.0.0.1의 1234 포트에 접속해서 리스닝 합니다.

$ nc 127.0.0.1 1234

 

위의 지정한 결과값을 리다이렉트하여 파일로 저장합니다.

$ nc -l 1234 > result.out

 

nc는 호스트의 특정 포트를 지정할 수 있습니다. 아래는 대상 호스트의 포트 중 10-12까지를 스캔할 수 있습니다. 출력문을 살펴보면 www.gmail.com 서버는 80포트(tcp/www)가 외부로 열러 있는 상태 입니다. 

$ nc -v -w 3 -z www.gmail.com 78-80
nc: connect to www.gmail.com port 78 (tcp) timed out : Operation now in progress
nc: connect to www.gmail.com port 79 (tcp) timed out : Operation now in progress
nc: connect to www.gmail.com port 79 (tcp) timed out : Operation now in progress
nc: connect to www.gmail.com port 79 (tcp) timed out : Operation now in progress
nc: connect to www.gmail.com port 79 (tcp) timed out : Operation now in progress
Connection to www.gmail.com 80 port [tcp/www] succeeded!

 

반응형

댓글