네트워크 명령 (ip·ss·ping·scp)
3. 코드 예제
예제 1: 주소와 경로 — 명령 목록
ip -br addr
ip route
hostname -Ilo UNKNOWN 127.0.0.1/8
eth0 UP 10.0.0.12/24
default via 10.0.0.1 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.12
10.0.0.12리눅스 서버 출력입니다. eth0 가 10.0.0.12 이고 게이트웨이가 10.0.0.1 입니다. 이 두 줄이 "이 서버가 어느 망에 있나" 의 답입니다.
예제 2: 포트 열림 확인 — 01_net_cmd.sh 발췌
timeout 3 bash -c '</dev/tcp/127.0.0.1/18081' && echo "open"
timeout 3 bash -c '</dev/tcp/127.0.0.1/1' 2>/dev/null && echo "open" || echo "closed"127.0.0.1:18081 open
127.0.0.1:1 closednc 없이 bash 만으로 포트를 확인했습니다. timeout 3 이 응답 없는 포트에서 무한 대기를 막습니다.
예제 3: HTTP 확인 — 01_net_cmd.sh 발췌
curl -s http://127.0.0.1:18081/
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:18081/
curl -sI http://127.0.0.1:18081/ | head -n 1
curl -s -m 2 http://127.0.0.1:1/; echo "종료 코드=$?"ok
200
HTTP/1.1 200 OK
닫힌 포트 종료 코드=28본문, 코드, 헤더 세 가지 형태와 실패 시 종료 코드입니다. 리눅스에서는 닫힌 포트가 7 로 나옵니다.
예제 4: 배포 파일 올리고 확인 — 명령 목록
sha256sum app.jar > app.jar.sha256
scp app.jar app.jar.sha256 app1:/tmp/
ssh app1 'cd /tmp && sha256sum -c app.jar.sha256 && ls -l app.jar'app.jar 100% 48MB 12.0MB/s 00:04
app.jar: OK
-rw-r--r-- 1 deploy deploy 50331648 Sep 10 17:30 app.jarscp 로 보내고 ssh 원격 명령으로 체크섬을 확인했습니다. 운영 묶음 04 의 폐쇄망 반입 절차와 같습니다.