bash에서 네트워크 장치의 이름을 감지합니까?


12

bash를 통해 컴퓨터의 활성 네트워크 장치 이름을 출력하는 해킹을 시도하고 있습니다. 나는 일을 위해 만들고있다. 이 작업은 어떻게합니까? "wlan0"또는 "eth0"또는 일반 쓰레기 중 일부만 사용하고 싶지 않기 때문에 일부 OS에서는 다른 이름 (예 : pfSense)을 사용하기 때문입니다.

답변:


28

'active'의 의미에 따라 다릅니다. 시스템의 모든 네트워크 장치 이름 만 보려면 / sys / class / net 디렉토리의 내용을 볼 수 있습니다.

$ ls /sys/class/net
eth0  lo  wlan0

상태를 확인하려면 ip모든 link객체 에서 명령을 사용할 수 있습니다. 출력을 구문 분석하여 원하는 특정 필드를 가져옵니다 (예 : 장치 이름 및 상태 만 표시).

$ ip -o link show | awk '{print $2,$9}'
lo: UNKNOWN
eth0: DOWN
wlan0: UP

최신 데스크탑 버전의 Ubuntu를 실행중인 경우 (네트워크 관리자 서비스에서 관리하는 인터페이스 사용) 다음을 사용하여 비슷한 장치 상태 목록을 얻을 수 있습니다. nmcli

$ nmcli dev status
DEVICE     TYPE              STATE
wlan0      802-11-wireless   connected
eth0       802-3-ethernet    unavailable

또는 스크립트에서보다 쉽게 ​​사용되는 방식으로 출력을 특정 필드로 제한

$ nmcli --terse --fields DEVICE,STATE dev status
wlan0:connected
eth0:unavailable

네트워크 관리자를 사용하는 경우 DBUS를 통해 장치 및 연결 속성에 액세스 할 수도 있습니다 (예 : Dbus 자습서-네트워크 관리자 사용 재미 참조).


2

ifconfig약간 더 작은 출력 사용을 위해 활성 네트워크 장치를 감지하는 데 사용할 수 있습니다 ifconfig -s. ifconfig활성 인터페이스 -a를 인쇄하며 시스템에서 네트워크 인터페이스로 인식되는 모든 인터페이스를 인쇄 할 수 있습니다.

또는을 사용하십시오 ip addr.


0

나는 대답을 직접 알지 못하지만 네트워크 명령 목록을 제공하고 거기에서 당신이해야 할 일과 연결할 수 있습니다.

네트워크를보고 단일 컴퓨터에서 활성 네트워크 장치의 이름을 출력하려면 다음 명령을 시도 할 수 있습니다.

ifconfig

이 명령을 사용하면 활성 네트워크 장치를 감지 할 수 있습니다. 더 작은 출력 사용을 위해 ifconfig -s 명령을 사용할 수도 있습니다. 이 명령을 사용하여 특정 인터페이스를 구성 할 수 있습니다

ip addr

이 명령을 사용하면 네트워크 네트워크 정보를 볼 수 있습니다.

tcpdump

이 명령은 네트워크 스니퍼입니다. 그것이하는 일은 네트워크 인터페이스에서 패킷을 캡처하고 해석합니다.

권한 거부 메시지가 표시되면 간단히 **gksu yourcommand**루트 권한을 얻어 명령을 강제 실행하십시오.

findsmb

이 명령을 사용하여 SMB 이름 쿼리에 응답하는 시스템에 대한 정보를 나열 할 수 있습니다.

출처 : http://www.gymforgeeks.com/topic/358445-/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.