SRE/Linux Basics

Linux_Network

게임이 더 좋아 2022. 12. 18. 18:23
반응형
728x170

 

리눅스 네트워크에 대해서 알아보자

 

 

네트워크 Configuration

해당 파일에 존재

/etc/sysconfig/network-scripts/ifcfg-*

*은 와일드카드로 아무거나 들어감

 

 

여러가지 파라미터 존재

sysctrl.conf

ip_forward Interface간 packet 교환 허락(0,1)
ip_defauolt_ttl Router간 홉을 결정한다. (default:64)
tcp_keepalive_time Tcp간 keep time을 설정 (default:4)
tcp_fin_timeout FIN_WAIT상태 값
tcp_wmem Socket write memory(default:128k)
tcp_rmem Socket read memory (default:8k)
tcp_syncookies Sync foold attack방어(default:false): dos attack
tcp_max_syn_backlog 승인받지 못한 요청에 대한 최대값
icmp_echo_ignore_all icmp요청 무시(default: 0)
rp_filter Ip spoof 방지
Log_martians Ip spoof 공격시 log기록
tcp_sack Sync후 비정상적인 ack를 선택적으로 허락 sync attack, dos attack 방어 (0,1)

 

 


netconfig

주요 명령어

 

netstat

 

$ vmstat 2 : 기본 모니터링

. procs – system의 process에 대한 정보 표시

     1. r : watting process count

     2. b : sleep process count

. System

     1. us : 사용자가 사용하는 cpu %

     2. sys : system이 사용하는 cpu%

     3. id : system idle

.    4. wa : I/O에 대한  대기 비율 %

 

관련 파일

 proc/meminfo

       /proc/stat

       /proc/*/stat

 
 

route

Network에서 packet의 흐름에 대한 경로를 결정하다

# route or netstat –r

Kernel IP routing table

Destination     Gateway         Genmask      Flags Metric Ref    Use Iface
...   			...				...				...	...		...		....
1.Genmask : 목적지를 알기 위한 netmarsk
2.Flags : U : interface 사용

                  G : router가 Gateway로 사용

                  H : 단독 호스트만 접근 가능

                  D : ICMP redirect 메시지로 운영

                  M : ICMP redirect 메시지로 수정이 되고 있음을 나타냄

3. Metric : hope count ( n개의 router count)

4. Ref : 다른 목적지로 가기위해 router가 첨조한 횟수

 

 

 
 

iptables

 

Kernel단 에서 제공하는  Network control 툴

  1. Network 흐름제어 (FORWARD)

  2. IP Filtering (ESTABLISH, DENY, DROP)

  3. Connection Tracking

A. IP Filtering

접근하는 80 FORWARD

 $ iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 0.0.0.0 -j ACCEPT

 $ iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \ --to-destination 0.0.0.0:80 PREROUTING -i eth0 -p tcp --dport 80 -j DNAT

B. IP Filtering

접근하는 80 port에 접근 제어

 $ iptables –A INPUT –p tcp –sport 80 –j DROP

 $ iptables –A OUTPUT –p tcp –dport 80 –j DROP

 $ iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP

C. Connection Tracking

$ iptables -A FORWARD --state ESTABLISHED,RELATED -j ALLOW

    C-1 : NEW : 새로운 연결

    C-2 : ESTABLISHED : 현재 연결중인것

    C-3 : RELATED : 과거에 연결했던것

    C-4 : INVALID : 아무것도 해당이 없는 경우

 

 

 

nmap

내부/외부 System의 서비스를 scanning 한다.

Linux의 보안을 관리하기 위해 사용을 한다. – 현재 해킹을 위한 전 단계로 많이 사용 되어짐.

TCP/UDP/PORT/Range Scanning/Packet Trace 다양한 기능을 제공

 

$ nmap -A -T4 –F www.example.com

PORT     STATE SERVICE     VERSION

    21/tcp open  ftp

    23/tcp open  telnet

    80/tcp open  http

  512/tcp open  exec

  513/tcp open  login

  514/tcp open  shell

  873/tcp open  rsync

2301/tcp open  compaqdiag

2401/tcp open  cvspserver

8009/tcp open  ajp13

8080/tcp open  http-proxy

 

traceroute

기본 포맷 : traceroute {hostname}

패킷의 이동경로 출력

Router간 응답시간 시간의 확인으로 문제가 되는 router 정보를 확인 할 수 있음 

 

 

ifconfig

Network Interface의 기본 정보

MTU : Windows frame size

Metric : binding 우선순위

RX : recive packet bytes

Tx : send packet bytes
 
 

Tcpdump

 

tcpdump -q \( dst net 1.2.3.0/24 or 1.2.4.0/25 \) and dst port 80
# 목적지 주소가 1.2.3.x/24 와 1.2.4.x/25 이고 80번포트인 패킷 캡쳐

tcpdump host A
# A 호스트로/부터의 모든 도착/출발 패킷 출력

tcpdump host A and \( B or C \)
# A 호스트와 B 또는 C 사이의 모든 트래픽 출력

tcpdump ip host A and not B
# A호스트와 B를 제외한 호스트 간의 모든 IP 패킷 출력

tcpdump 'tcp[13] & 3 != 0 port 80 ‘
# 데이타 패킷 출력

tcpdump 'gateway A and ip[2:2] > 576'
# 게이트웨이 A를 통해 보내지는 576 Bytes보다 긴 IP 패킷 출력

tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'
# 이더넷이 아닌 IP 브로드 또는 멀티 캐스트 패킷 출력

tcpdump src net 1.2.3 or 1.2.4 and not dst net 1.2.3 or 1.2.4
# 1.2.3 과 1.2.4 IP주소 (내부) 패킷을 제외한 모든 패킷 출력
 

 

netconfig

tcp/ip 네트워크 설정

 

nslookup

기본 포맷 : nslookup {hostname}

DNS에 특정 도메인 네임 정보 요청

# 구글의 호스트 서버 ip를 요청한다.
$ nslookup www.google.com
Note:  nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead.  Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server:         222.231.51.103
Address:        222.231.51.103#53
 
Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.
Name:   www.l.google.com
Address: 66.249.89.99
Name:   www.l.google.com
Address: 66.249.89.147
Name:   www.l.google.com
Address: 66.249.89.104

 

ping

기본 포맷 : ping [option] {hostname}

원격 호스트로 ICMP 에코 요청 전송

**ICMP : (internet control message protocol) 인터넷 메시지 제어/에러 리포팅 프로토콜

ping -n 3 google.com

Ping google.com [142.250.206.238] 32바이트 데이터 사용:
142.250.206.238의 응답: 바이트=32 시간=29ms TTL=116
142.250.206.238의 응답: 바이트=32 시간=29ms TTL=116
142.250.206.238의 응답: 바이트=32 시간=29ms TTL=116

142.250.206.238에 대한 Ping 통계:
    패킷: 보냄 = 3, 받음 = 3, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
    최소 = 29ms, 최대 = 29ms, 평균 = 29ms

[컴퓨터(Computer Science)/네트워크, Network] - 핑과 추적루트, PING and TRACERT(traceroute)

 

telnet

 

 

rlogin

기본 포맷 : rlogin [option] {hostname}

원격 호스트 접속

# 원격 호스트 host333으로 접속한다.
$ rlogin host333
-Last login: Tue Sep 16 10:25:09 from 111.111.111.111

# 특정 계정으로 접속
$ rlogin –l master host333
-Last login: Tue Sep 16 10:27:08 from 111.111.111.111

 

rsh

기본 포맷 : rsh [option] {hostname} {command}

원격 호스트 쉘 접속

# host333 에 접속하여 ls 명렁어 수행
$ rsh host333 ‘ls’
bin
…
…

 

ssh

기본 포맷 : ssh [option] {hostname}

보안 호스트 접속

[Linux/기초] - SSH

# host333에 접속한다.
$ ssh host333
Last login: Tue Sep 16 11:18:39 2008 from 111.111.111.111

 

rsync

[Linux/기초] - rsync, 원격으로 동기화

 

 

rcp

기본 포맷 : rcp [option] {source} {destination}
두 호스트 간의 파일 또는 디렉토리 복사(동기화 기능 x)
# 현재 폴더의 모든 파일을 host 의 ~/user/darkh 폴더로 복사한다.
# r(디렉토리의 경우 하위 모두 포함), p(파일 속성 보존)
$ rcp -rp . host:~/user/darkh

 

728x90
반응형
그리드형

'SRE > Linux Basics' 카테고리의 다른 글

rmdir  (0) 2022.12.25
mkdir  (1) 2022.12.25
Linux_Process  (0) 2022.12.18
mv  (0) 2022.12.18
cat  (0) 2022.12.18