2025년 4월 28일 월요일

리눅스에서 네트워크 상태를 확인하는 명령어 11가지

리눅스에는 네트워크 설정과 연결을 확인하는 다양한 명령어가 있다. 

여기서는 매우 유용한 여러 가지 명령과 각 기능을 살펴보자. 

 ifquery는 매우 유용한 명령으로, 간략한 네트워크 인터페이스 목록을 보여준다. 

그러나 다음과 같이 루프백 인터페이스만 표시될 수도 있다.  

이런 현상은 /etc/network/interfaces 파일에 루프백 인터페이스 이외의 
네트워크 인터페이스에 관한 정보가 포함돼 있지 않기 때문이다. 

주소 할당에 DHCP가 사용된다고 가정하면 예제의 마지막 두 줄과 같은 코드를 추가해 해결할 수 있다.

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

ifup와 ifdown 명령 

파일에 필요한 데이터가 있다면 ifup과 ifdown 명령을 사용해 필요에 따라 네트워크 연결을 불러오거나 종료할 수 있다. 이 명령에서 “if”는 “만일”을 의미하는 if가 아니라 ifconfig 명령의 경우와 마찬가지로 “interface”를 의미한다는 점만 기억하면 된다. 

 

ifconfig 명령 

반면 ifconfig 명령은 /etc/network/interfaces 파일을 아예 읽지 않으면서도 네트워크 인터페이스에 관한 여러 유용한 정보를 제공한다. 구성 데이터와 함께 패킷 수를 보여주므로 각 인터페이스의 사용량이 얼마나 많은지 확인할 수 있다. 네트워크 인터페이스를 종료하고 재시작하는 데도 ifconfig 명령을 사용할 수 있다. 예를 들면 ifconfig eth0 down이다.

$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:1e:4f:c8:43:fc
          inet addr:192.168.0.6  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::b44b:bdb6:2527:6ae9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:60474 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33463 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:43922053 (43.9 MB)  TX bytes:4000460 (4.0 MB)
          Interrupt:21 Memory:fe9e0000-fea00000
이 출력의 RX와 TX 패킷 수는 매우 낮다. 또한 보고된 오류 또는 패킷 충돌도 없다. uptime 명령을 사용하면 알 수 있겠지만 아마 이 시스템은 최근에 재부팅됐을 것이다. 앞의 예제에서 브로드캐스트(Bcast)와 네트워크 마스크(Mask) 주소는 시스템이 클래스 C(Class C) 등급 네트워크에서 작동하며(기본값), 로컬 주소의 범위가 192.168.0.1부터 192.168.0.254까지임을 보여준다. 

netstat 명령 

netstat 명령은 라우팅 및 네트워크 연결에 대한 정보를 제공한다. 인수가 없으면 열린 소켓 목록을 출력한다. 거의 모든 항목이 로컬 시스템의 프로세스와 관련된다. 예를 들어 다음 예제를 보면 로컬 시스템(dragonfly)으로 가는 수신 ssh 연결이 2개만 설정됐음을 알 수 있다. 

$ netstat | head -4
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0     64 dragonfly:ssh           dragonfly:8812          ESTABLISHED
tcp        0      0 dragonfly:ssh           dragonfly:33505         ESTABLISHED

netstat -rn 

netstat에 -m을 사용하면 시스템 라우팅 테이블을 볼 수 있다. 

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.0.1 주소는 로컬 게이트웨이다(Flags=UG). 위 예제에서 169.254.0.0 항목은 링크-로컬 통신을 사용 중이거나 사용할 계획인 경우에만 필요하다. 해당하지 않는다면 /etc/network/if-up.d/avahi-autoipd 파일에서 관련된 라인을 주석 처리하면 된다.

$ tail -12 /etc/network/if-up.d/avahi-autoipd
#if [ -x /bin/ip ]; then
#       # route already present?
#       ip route show | grep -q ‘^169.254.0.0/16[[:space:]]’ && exit 0
#
#       /bin/ip route add 169.254.0.0/16 dev $IFACE metric 1000 scope link
#elif [ -x /sbin/route ]; then
#       # route already present?
#       /sbin/route -n | egrep -q “^169.254.0.0[[:space:]]” && exit 0
#
#       /sbin/route add -net 169.254.0.0 netmask 255.255.0.0 dev $IFACE metric 1000
#fi

netstat -a 명령 

netstat -a 명령은 모든 네트워크 연결을 보여준다. 수신 대기 연결과 설정된 연결로만 범위를 제한하려면(일반적으로 이것이 더 유용하다) netstat -at 명령을 사용하면 된다.

$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN
tcp        0      0 localhost:smtp          *:*                     LISTEN
tcp        0    256 192.168.0.6:ssh         192.168.0.32:53550      ESTABLISHED
tcp6       0      0 [::]:http               [::]:*                  LISTEN
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN
tcp6       0      0 ip6-localhost:smtp      [::]:*      

host 명령 

host 명령은 원격 시스템의 IP 주소를 조회한다는 면에서는 nslookup과 비슷하지만 시스템의 메일 핸들러도 보여준다. 

$ host world.std.com
world.std.com has address 192.74.137.5
world.std.com mail is handled by 10 smtp.theworld.com.

nslookup 명령 

nslookup 역시 DNS 조회 서비스를 제공하는 시스템(여기서는 로컬 시스템)에 대한 정보를 제공한다 

$ nslookup world.std.com
Server:         127.0.1.1
Address:        127.0.1.1#53
Non-authoritative answer:
Name:   world.std.com
Address: 192.74.137.5

dig 명령 

dig 명령은 통신 중인 네임 서버, 쿼리 응답까지 소요되는 시간 등 원격 시스템 연결에 대한 여러 정보를 제공하며 문제 해결에 자주 사용된다. 

$ dig world.std.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> world.std.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28679 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;world.std.com.                 IN      A
;; ANSWER SECTION: world.std.com.          78146   IN      A       192.74.137.5
;; Query time: 37 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Mon Oct 09 13:26:46 EDT 2017 ;; MSG SIZE  rcvd: 58

nmap 명령 

nmap 명령의 가장 일반적인 용도는 원격 시스템 탐지지만 로컬 시스템이 제공하는 서비스에 대해 보고하는 데도 사용할 수 있다. 다음 예제에서 로그인에 ssh를 사용할 수 있고 smtp가 이메일을 서비스하고 있고 웹사이트가 활성이며 ipp 인쇄 서비스가 실행 중임을 알 수 있다. 

$ nmap localhost
Starting Nmap 7.01 ( https://nmap.org ) at 2017-10-09 15:01 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00016s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
631/tcp open  ipp
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
리눅스 시스템에는 네트워크 구성과 연결을 점검하기 위한 유용한 명령어가 많다. 대부분 알고 있다고 생각한다면 apropos network 명령을 실행해 보자. 더 많은 명령어를 볼 수 있다. editor@itworld.co.kr

[리눅스] 네트워크 설정

post-thumbnail
네트워크 설정일단 리눅스에서 ip를 확인하기 위한 명령어
  • ifconfig

    • 만약 이 명령어가 없다면 ip addr을 입력하자.

    • 네트워크 장치 이름

      • ens160
    • UP은 네트워크를 사용함 상태로 되어 있는 활성화 상태이다.

    • inet과 netmask는 ip주소와 subnetmask 주소이다.

  • 게이트웨이 주소 확인

    • route 혹은 netstat -r
  • DNS 서버 확인

    • /etc/resolv.conf 파일 확인
  • 수동으로 ip 설정

    • vi /etc/sysconfig/network-scripts/ifcfg-(네트워크 장치 이름)


    • 수동으로 설정하기 위해서는 BOOTPROTO를 static으로 바꿔야한다.

    • ONBOOT는 부팅할때 이 설정을 불러오기 위함이여서 yes로.

    • 그 이후에는?


    • 위의 그림식으로 설정해주면 된다.
      - 여기서 IPADDR는 Virtual Network Editor를 열어서 가상 공유기의 Network ID를 보고 결정해야 한다.

    • 가상 공유기의 network id가 192.168.163.0이기 때문에 192.168.163.~ 로 설정을 해주어야한다.

    • 이렇게 설정해주면 된다!

    • 그 후, 리눅스를 재부팅 하고 ifconfig 명령어를 사용해서 확인해보면 바뀐 것을 확인할 수 있다.

일본어

なが






ルーティングプロトコル




松田たつや. CCNA対策から学ぶネットワーク運用ガイド: ダイナミックルーティング編 . Kindle 版. 



松田たつや. CCNA対策から学ぶネットワーク運用ガイド: ダイナミックルーティング編 . Kindle 版. 




松田たつや. CCNA対策から学ぶネットワーク運用ガイド: ダイナミックルーティング編 . Kindle 版. 

松田たつや. CCNA対策から学ぶネットワーク運用ガイド: ダイナミックルーティング編 . Kindle 版. 

松田たつや. CCNA対策から学ぶネットワーク運用ガイド: ダイナミックルーティング編 . Kindle 版. 

松田たつや. CCNA対策から学ぶネットワーク運用ガイド: ダイナミックルーティング編 . Kindle 版. 

2025년 4월 26일 토요일

二進法

 https://ja.wikipedia.org/wiki/%E4%BA%8C%E9%80%B2%E6%B3%95


二進法にしんほうbinary numeral system, base-2 numeral system)とは、底を2とする位取り記数法および命数法である。二進法によって表された数を二進数にしんすうbinary number)と呼ぶ。二進法において、位は順に底2の冪…, 1/41/2, 1, 2, 4, …)ごとに取り、位の値は 0 または 1 を取る(例:十進数の 7 (= 4 + 2 + 1) は二進法で 1111.75 (= 1 + 0.5 + 0.25) は 1.11 と表される)。


記数法

[編集]
二進法で表された数

を底とする位取り記数法二進記数法または単に二進法と呼ぶ。二進法による数の表示は、一の位を k = 0 とし添字 k で位の位置を表し、位の値を dk ∈ {0, 1} で表せば、以下のように書ける:

これは以下の総和の略記と見なせる:

例えば十進法における 21.25 は二進法において、

と表される(添字の 2 は二進表記であることを示す)。負の数は一般的な記数法と同じく、負号をつけて表す(例:−10101.012)。

十進法など一般の位取り記数法と同様に、二進法においても小数部が有限の長さとなる数は一部の有理数に限られ、また円周率のような無理数を厳密に表すことはできない。二進法の場合、有理数を表す既約分数について、分母が2の冪ならば有限小数として書けるが、そうでないならば有限小数としては書けない。例えば十進法では 1/5 を有限小数 0.2 で表せるが、二進法では循環小数 0.00112 = 0.00110011…2 で表さなければならない。