PING, NETSTAT, ARP, HOST, LOOKUP, DIG, IP ALIASES
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 서버에 질의