리눅스

PING, NETSTAT, ARP, HOST, LOOKUP, DIG, IP ALIASES

slcry 2022. 10. 20. 16:56

PING

 - 특정 호스트까지의 연결과 대상 시스템의 작동여부를 확인한다

 

netstat

 - 시스템의 연결상태, 포트, 인터페이스등의 상태와 통계정보를 확인해서 네트워크 상태 진단하는 프로그램

 

# netstat [옵션]
‐i : 인터페이스 상태 확인
‐s : IP, ICMP, TCP, UDP 에 대한 패킷 통계정보
‐nr :  라우팅테이블 확인

 

[root@Linux1 ~]# netstat -nr
Kernel IP routing table
Destination           Gateway              Genmask         Flags    MSS Window    irtt       Iface
0.0.0.0              192.168.10.1           0.0.0.0             UG             0 0              0        ens32
192.168.10.0         0.0.0.0          255.255.255.0       U               0 0              0        ens32
192.168.122.0       0.0.0.0          255.255.255.0       U              0 0               0        virbr0

 

 - 이 컴퓨터가 가지고 있는 라우팅 테이블이다.

 

 - Destination 0.0.0.0 -> 모든 ip라는 뜻이다.

 - Genmask    0.0.0.0 ->         "

 - 모든 패킷(ip, netmask)를 192.168.10.1로 보내라는 뜻

 

 - Destination - 192.168.10.0 Genmask - 255.255.255.0  

 - Default Gateway - 0.0.0.0 -> 없다는 뜻

 - 내가 10번대 네트워크에 있으니까 나랑같은 네트워크 주소애들은 인터페이스로 보냄

 - 라우터가 없음

 - 위 ip netmask는 인터페이스로 보낸다.

 

 - Flage
 - U(라우트), G(게이트웨이), R(동적 라우트 재생성), D(리다이렉트에 의해 재생성)
 - M(리다이렉트나 라우트 데몬에의해 변경), !(거부)

 

 - MSS : Maximun Segment Size

 

 - irtt : 패킷 윈도우 사이즈

 

 - Linux : /etc/host 파일 편집

 - Windows - c : Windos : system32 : drivers : etc

 

ARP

 - 패킷을 송수신한 대상의 MAC 주소를 확인

 

옵션
- a : arp 목록 전체 출력
- s : arp 정적 등록
- d : arp 및 삭제

 

ARP 초기화

# ip ‐s neigh flush all
# arp
Address                  HWtype         HWaddress           Flags Mask            Iface
gateway                   ether        88:36:6c:96:7e:f6             C                     ens32
192.168.10.11          ether        d0:50:99:85:11:43            C                     ens32
192.168.10.3            ether                 a8:5e

 

옵션
- a : arp 목록 전체 출력
- s : arp 정적 등록
- d : arp 및 삭제

 

ARP 초기화
# ip ‐s neigh flush all

 

arp 명령어 제한된 경우, netsh 명령을 이용한다.

 - 초기화 : netsh interface ip delete arpcache
 - 삭제 : netsh interface ip delete neighbors “interface” ip
 - 등록 : netsh interface ip add neighbors “interface” ip mac

 

네트워크 명령어(host,  nslookup, dig)

 - 도메인 명에서 ip를 확인하거나 ip를 이용 도메인 명을 확인
 - ip로 도메인을 확인하는 것은 rev zone을 확인하는 것이므로 도메인 설정을 확인하는 것으로는 큰 의미가 없다.

 

 - arp스니핑 - 엿듣기(간접 공격)

 - arp스푸핑 - 패킷을 변경(직접 공격)

 

Traceroute(tracert)

 - 출발지 시스템에서 목적지 시스템까지의 데이터 전송 경로를 추적

 

ROUTE

 - 라우팅 경로를 확인하거나 수정한다.

 

[root@Linux1 ~]# route
Kernel IP routing table
Destination              Gateway         Genmask         Flags      Metric    Ref    Use    Iface
default                     gateway           0.0.0.0             UG         100        0        0     ens32
192.168.10.0           0.0.0.0      255.255.255.0       U           100        0        0     ens32
192.168.122.0         0.0.0.0      255.255.255.0       U             0          0        0     virbr0


[root@Linux1 ~]# route -n
Kernel IP routing table
Destination              Gateway         Genmask          Flags      Metric   Ref    Use     Iface
0.0.0.0                192.168.10.1       0.0.0.0             UG          100       0        0      ens32
192.168.10.0           0.0.0.0       255.255.255.0      U            100       0        0      ens32
192.168.122.0         0.0.0.0       255.255.255.0      U              0         0        0      virbr0

 

ROUTE 출력 필드

 - Destination: 목적지
 - Gateway: 게이트웨이 주소
 - Genmask: 목적지 네트워크의 넷마스크 주소.
 - 255.255.255.255 : 목적지 호스트의 주소
 - 0.0.0.0 : 기본 게이트웨이 주소
 - Flags: 해당 경로에 대한 정보를 알려주는 기호.
 - U(up):활성화된 경로,  H(host):호스트 주소,  
 - G(gateway):게이트웨이
 - Metric: 목적지 네트워크까지의 거리
 - Ref: 경로를 참조한 횟수
 - Use: 경로를 탐색한 횟수
 - Iface: 패킷이 오가는 데 사용할 네트워크 인터페이스

 

# route [add | del] –net [ip] netmask [mask] gw [ip]

 

EX)

# route add –net 1.2.3.0 netmask 255.255.255.0 gw 192.168.11.2
# route add –net 1.2.3.4 netmask 255.255.255.255 gw 192.168.11.2
# route add default gw 192.168.11.1  enp3s0
# route del ‐net 192.168.10.0 netmask 255.255.255.0 enp3s0

 - 추가 경로는 여러 서브넷 환경을 가진 시스템에서 제한적으로 사용된다.
 - 시스템에는 단 하나의 default gateway만 지정가능함으로 추가적인 경로에 대한 설정은 직접 해야한다.
 - ICMP redirect 등을 허용하지 않기 때문에..

 

Windows route 명령

 - route –p add  [IP]  MASK [mask]  [GW_IP]
 - route –p add 1.2.3.0 MASK 255.255.255.0 192.168.11.2
 - route –p add 1.2.3.4 MASK 255.255.255.255 192.168.11.2

 

IP aliases

 - 하나의 물리적인 인터페이스를 여러 개의 논리적인(?) 인터페이스로 구현 IP를 여러 개 설정하는 방법

 

방법

1.  ifcfg‐ens32를 ifcfg‐ens32:0,  ifcfg‐ens32:1 등으로 복사한 이후 각각 다른 device와 IP를 설정한다.
⇒ subnet은 동일하거나 달라도 상관없다. ⇒ 설정후 nic를 reset한다.
2. ifconfig 명령을 이용한다.
⇒ ifconfig  ens32:0  192.168.10.32   

 

 - ifconfig ens32

 - ifconfig ens32 [ip]

 - ifconfig ens32 [ip] netmask [netmask]

 

[root@Linux1 ~]# cd /etc/sysconfig/network-scripts/
[root@Linux1 network-scripts]# cat ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=b9a0b3c2-38f5-416a-85db-86e71724e485
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.10.161
PREFIX=24
GATEWAY=192.168.10.1
DNS1=192.168.10.11
IPV6_PRIVACY=no

 

추가적인 네트워크 설정 파일

 - /etc/hosts : 호스트명과 IP를 저장하는 파일
 ‐ 각 레코드는 [ip    호스트명(도메인명)  별명] 형태로 정의 /etc/host.conf
 ‐ name resolution 순서를 지정하는 파일
 ‐ order : resolution 순서를 정의하는 항목
 ‐ host : /etc/hosts 파일 검사  
 ‐ bind : /etc/resolv.conf 파일에 지정된 name 서버에 질의