winpcap을 사용하는 Windows 7 네트워크 어댑터 장치 이름

winpcap을 사용하는 Windows 7 네트워크 어댑터 장치 이름

생산 라인의 여러 서버에서 사용할 애플리케이션에 winpcap을 사용하려고 합니다. 지금까지 나를 짜증나게 하는 한 가지는 긴 16진수 문자열이고 서버마다 변경되는 Windows 7 장치 명명 규칙입니다(예: \Device\NPF_{6F2E340D-FD43-4505-81C2-735716D02F15}Linux에서는 eth0, eth1, ... 규칙만 사용하면 이 작업이 더 쉬워집니다). 5개의 네트워크 어댑터를 사용할 예정이므로 장치 이름이 포함된 구성 파일을 유지하거나 장치 이름 변경을 수용하기 위해 소스 코드를 변경하지 않고 싶습니다. 또한 cat5 연결은 다른 장치로 이동합니다. 별도의 네트워크에 있으며 포트 할당은 항상 도면별로 동일하게 유지되어야 합니다.

그래서 제 질문은, 레지스트리에서 이름을 쉽게 바꿀 수 있는 등 Windows에서 이러한 장치 이름을 관리하는 쉬운 방법이 있습니까?입니다. 레지스트리를 살펴보니 16진수 문자열이 많은 항목에 표시되고 폴더 이름에도 표시되므로 변경하기가 번거로울지 확신할 수 없었습니다. 또는 winpcap을 사용하여 네트워크 연결 페이지를 통해 설정할 수 있는 장치의 친숙한 이름을 가져오고 그런 식으로 16진수 장치 이름 결과를 얻을 수 있는 방법이 있습니까(findalldev_ex()와 유사). 다른 제안도 환영합니다.

추신: 바인딩()을 사용하여 IP 및 포트에 바인딩하거나 Winsock 등을 사용할 수 있다는 것을 알고 있지만 동일한 IP 주소를 가져야 하는 여러 네트워크 어댑터와 Windows에서 충돌이 발생하기 때문에 다른 장치에 대한 응용 프로그램 및 하드웨어 인터페이스가 복잡합니다. 따라서 무차별 모드의 winpcap 옵션은 모든 원시 메시지를 생성합니다.

답변1

네트워크 연결의 "연결 이름"을 얻으려면 어떻게 해야 합니까?

Windows에서는 getmac"연결 이름"(친숙한 이름)과 "전송 이름"(GUID)을 모두 검색하는 데 사용할 수 있습니다.

getmac /fo csv /v

예제 출력:

"Connection Name","Network Adapter","Physical Address","Transport Name"
"Local Area Connection","Realtek PCIe GBE Family Controller","F0-BF-97-62-95-5D","\Device\Tcpip_{45B9E87F-83FB-4829-A751-6B62656CC1A8}"
"Wireless Network Connection","Atheros AR9285 Wireless Network Adapter","CC-AF-78-B2-4C-09","\Device\Tcpip_{B108BB0B-CCDC-4ACA-9DFE-5A2F17BC138D}"
"Bluetooth Network Connection","Bluetooth Device (Personal Area Network)","CC-AF-78-B2-4C-0A","Media disconnected"

연결 이름을 어떻게 바꾸나요?

netsh네트워크 연결의 이름을 바꾸는 데 사용할 수 있습니다.

netsh interface set interface name="Local Area Connection" newname="New Name"

이 모든 것을 어떻게 자동화할 수 있나요?

제품을 설치할 때 배치 파일에서 위 명령을 사용하여 사용자 정의 로컬 구성 파일을 자동으로 생성할 수 있습니다.


추가 자료

  • Windows CMD 명령줄의 AZ 인덱스- Windows cmd 라인과 관련된 모든 것에 대한 훌륭한 참고 자료입니다.
  • getmac- 로컬로 또는 네트워크를 통해 각 컴퓨터의 모든 네트워크 카드에 대한 각 주소와 연결된 MAC(미디어 액세스 제어) 주소 및 네트워크 프로토콜 목록을 표시합니다.
  • 넷쉬- 네트워크 인터페이스, Windows 방화벽, 라우팅 및 원격 액세스를 구성합니다.

관련 정보