우리는 Linux 기반 네트워킹 제품("Z"라고 함)을 가지고 있으며 일괄 판매하여 모두 동일한 서브넷에서 실행되어 동일한 종류의 작업을 수행하고 데이터를 단일 서버에 다시 보고하도록 하는 경향이 있습니다. 서브넷)을 모두 조정합니다.
이 장치는 2.6 커널을 기반으로 하는 맞춤형 홈브루 버전의 Linux를 실행하고 있습니다.
다음 기능을 추가할 수 있는지 조사해 달라는 요청을 받았습니다.
"모든 Z 장치는 로컬 서브넷에서 다른 Z 장치를 찾고 해당 IPv4 주소를 나열할 수 있어야 합니다. 목록은 다음과 같아야 합니다.~ 아니다로컬 서브넷에 있는 관련되지 않은 다른 컴퓨터도 포함합니다."
예:
- 사용자는
ssh
임의의 Z 유닛에 "listLocalSiblings"라는 명령(새로운 bash 스크립트일 수 있음)을 실행할 수 있습니다. - Z 장치는 로컬 네트워크 부근을 조사하고 다른 Z 장치의 IP 주소에 대한 간단한 텍스트 목록을 출력합니다.
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.30
192.168.1.37
192.168.1.71
다양한 운영 체제를 실행하는 서브넷에는 관련되지 않은 여러 장치가 있을 수 있습니다. 나는 이것이 가능한 한 수동적이기를 원합니다(예: 포트 스캐닝을 피하거나 청취자가 특별한 "핑"을 기다리고 응답하도록 하는 것을 피하십시오).
거기에일반적인Linux에서 네트워크 장치를 분류하는 방법은 무엇입니까?
나는 제품에 새로운 소프트웨어를 추가할 수 있는 사치를 누리고 있지만 각 기계가 가질 수 있는 일종의 고유 서명을 기반으로 이를 수행할 수 있는 방법이 있다면 그것이 더 바람직할 것입니다. 우리는 실제로 서로를 찾을 수 있는 경로를 하드 코딩하지 않고 이러한 기계가 서로를 "보도록" 시도한 적이 없습니다.
편집: 여러 가지 이유로 인해 서버에서 이 정보를 얻을 수 없습니다. 지금은 서버가 충돌했거나 이더넷 케이블이 서버 뒷면에서 빠져 나왔다고 가정해 보겠습니다.
그런 다음 사용자가 원하는 대로 작업할 수 있도록 목록이 표시됩니다.
Z 장치는 예상대로 이전 버전의 Linux 시스템과 이전 마더보드 및 NIC를 포함하지만 거의 모두 동일한 하드웨어입니다.
이상적으로는 각 유닛에 bash 스크립트를 놓고 실행하는 것이 좋을 것입니다. 그러나 이것이 현실적인 전망인지 알기에는 네트워킹 도구에 대해 충분히 알지 못합니다.
답변1
nmap으로 스캔하거나, nc로 브로드캐스트 패킷을 보내거나, NetBIOS를 사용하거나, 라우팅 테이블이나 ARP 패킷을 남용합니다.
IDS를 트리거하지 않고 사용할 수 있는 기존 네트워크 트래픽 유형이 많이 있습니다.