ethtool 명령어를 이용한 NIC 정보 확인 방법
리눅스(Linux)에서 ethtool 명령어를 사용하여 NIC Card(네트워크 카드, 랜카드)의 여러 정보를 확인할 수 있다.
- NIC : Network Interface Controller
간혹 현재 사용하고 있는 NIC Card의 지원 속도가 얼마인지 혹은 해당 NIC Card의 모델, 드라이버 등을 확인할 수 있다.
그럼 ethtool 명령어를 통해서 어떻게 확인할 수 있는지 알아보도록 하자.
1. 현재 사용하는 NIC Card 찾기
일단 ethtool 명령어를 사용하기 전에 현재 사용하고 있는 네트워크 인터페이스명을 확인해야 한다.
이때 사용하는 명령어는 ifconfig로 흔히 IP를 확인할 때 많이 사용하는 명령어이다.
- $ ifconfig
# ifconfig [옵션]
$ ifconfig -a
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.20 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::4dc1:b18b:78ef:3959 prefixlen 64 scopeid 0x20<link>
ether 70:85:c2:2b:d9:h3 txqueuelen 1000 (Ethernet)
RX packets 269601 bytes 402677694 (384.0 MiB)
RX errors 0 dropped 1550 overruns 0 frame 0
TX packets 70014 bytes 5039884 (4.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdf000000-df020000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 64 bytes 5705 (5.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5705 (5.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:65:65:af txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 52:54:00:65:65:af txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2. ethtool 명령어 설치 및 버전 확인하기
ethtool 명령어는 NIC Card의 설정값 및 정보를 확인할 수 있는 명령어이다.
대부분 리눅스(Linux)에 설치되어 있으나, 먼저 설치 여부 및 버전을 알아보도록 하자.
- $ rpm -qa | grep ethtool
- $ ethtool --version
# rpm을 통한 설치 여부 확인
$ rpm -qa | grep ethtool
ethtool-5.0-2.el8.x86_64
# ethtool Version 확인
$ ethtool --version
ethtool version 5.0
3. NIC Card 드라이버 정보 확인하기
이제 사용하는 NIC Card의 네트워크 인터페이스명과 ethtool 명령어 설치됨을 확인하였다.
확인된 인터페이스명을 통해서 ethtool 명령어에 -i 옵션을 통해서 드라이버 정보 및 Bus, 인터베이스에서 지원하는 정보를 확인할 수 있다.
- $ ethtool -i enp0s31f6
# ethtool 명령어로 드라이버 정보 확인하기
$ ethtool -i enp0s31f6
driver: e1000e
version: 3.2.6-k
firmware-version: 0.2-4
expansion-rom-version:
bus-info: 0000:00:1f.6
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
enp0s31f6 인터페이스에서 사용되는 드라이버(driver)는 e1000e이고, 드라이버 버전(version)은 3.2.6-k이고, 현재 펌웨어 버전(firmware-version)은 0.2-4이다.
4. NIC Card 상세 정보 확인 하기
이번에는 현재 사용되고 있는 NIC Card의 지원 속도 등 자세한 정보를 알아보도록 하자.
- $ ethtool enp0s31f6
# ethtool 명령어로 여러 정보 확인하기
$ ethtool enp0s31f6
Settings for enp0s31f6:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on (auto)
Cannot get wake-on-lan settings: Operation not permitted
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
enp0s31f6 인터페이스에서 사용되는 Port Type은 TP(Twisted Pair) Type이고, 사용되는 Link 속도는 1000Mb/s (1G)이고, Duplex는 Full이다.
여러 정보가 있지만 그 부분은 한번 더 나중에 더 알아보도록 하자.
이중 해당 NIC Card가 지원하는 Link 속도는 10 baseT/Half, 10 baseT/Full, 100 baseT/Half, 100 baseT/Full, 1000 baseT/Full와 같다.
연결하는 회선 속도에 따라서 변경이 가능하나 대부분은 자동적으로 최상의 값으로 설정되나, 추후 속도가 너무 느리다면 한번 정도 확인해 볼 필요는 있다.
5. NIC Card 제조사 확인하기
ifconfig를 통해서 확인된 Mac Address정보를 통해서 해당 NIC Card의 제조사를 알 수 있는 방법이 있다.
해당 방법은 예전 작성해놓았으니, 참고하면 좋을 것 같다.
🌵댓글