이더넷 카드를 테스트하는 방법은 무엇입니까?

이더넷 카드를 테스트하는 방법은 무엇입니까?

어떤 식으로든 손상될 수도 있고 손상되지 않을 수도 있는 USB->이더넷 카드가 있습니다. 문제는 실제로 테스트하는 방법을 모른다는 것입니다. 또한 일반 이더넷 포트도 있으므로 (이미 테스트된) 케이블을 한 포트에서 다른 포트로 연결할 수 있습니다. 그러면 어떻게 될까요?

한 인터페이스에 NAT를 설정하고 다른 인터페이스에 연결을 시도할 수 있지만 이는 과도한 것처럼 보이고 다른 문제가 발생할 수 있습니다. 나는 원시 이더넷 프레임을 보내고 상대방이 이를 수신하는지 확인하는 방법을 원합니다.

조금 보았지만 netcatTCP/UDP 수준에서 작동하는 반면 이더넷 프레임 수준에서 작업해야 할 것 같습니다.

이 USB->이더넷 어댑터를 테스트하는 가장 좋은 방법은 무엇입니까?

답변1

우선, 이 도구를 사용하여 ethtoolNIC 자체 테스트를 실행할 수 있습니다.

매뉴얼 페이지에서 발췌
 ethtool -t|--test DEVNAME  Execute adapter self test

$ sudo ethtool -t eth0
The test result is PASS
The test extra info:
Register test  (offline)     0
Eeprom test    (offline)     0
Interrupt test (offline)     0
Loopback test  (offline)     0
Link test   (on/offline)     0

NIC의 통계를 보는 것도 문제를 추가로 진단하는 데 유용할 수 있습니다.

$ sudo ethtool -S eth0
NIC statistics:
     rx_packets: 988097069
     tx_packets: 589028032
     rx_bytes: 1291674232357
     tx_bytes: 116257143322
     rx_broadcast: 210375
     tx_broadcast: 34690
     rx_multicast: 69184
     tx_multicast: 179
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
     multicast: 69184
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     tx_restart_queue: 346104
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 56
     rx_flow_control_xoff: 56
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 1291674232357
     rx_csum_offload_good: 987406053
     rx_csum_offload_errors: 3730
     rx_header_split: 0
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0
     rx_dma_failed: 0
     tx_dma_failed: 0

"error" 문자열이 포함된 모든 통계는 0이어야 합니다. 그렇지 않다면 이러한 문제의 원인이 무엇인지 추적하겠습니다.

관련 정보