>시스템 튜토리얼 >리눅스 >Ubuntu 16.04에서 WiFi MAC 주소를 무작위로 지정하는 방법

Ubuntu 16.04에서 WiFi MAC 주소를 무작위로 지정하는 방법

王林
王林앞으로
2024-03-09 10:43:23619검색

Ubuntu 16.04 下随机化你的 WiFi MAC 地址的方法

이 디자인의 결점은 고유성이며, 변경되지 않은 MAC 주소를 사용하여 추적할 수 있다는 것입니다. 스타벅스 WiFi에 연결되어 있나요? 알겠습니다. 런던 지하철에서도 녹음하시나요?

WiFi 인증 페이지에 실명을 입력한 적이 있다면 이 MAC 주소와 연결되어 있는 것입니다. 서비스 라이센스 약관을 주의 깊게 읽지 않고도 공항의 무료 WiFi가 소위 "고객 분석 데이터"(귀하의 개인 정보) 판매로 이익을 얻고 있다고 가정할 수 있습니다. 호텔, 레스토랑, 그리고 당신을 알고 싶어하는 모든 사람에게 판매됩니다.

정보가 기록되어 여러 회사에 판매되는 것을 원하지 않았기 때문에 솔루션을 찾는데 몇 시간을 보냈습니다.

MAC 주소가 항상 동일하지는 않을 수도 있습니다

다행히도 네트워크 연결을 끊지 않고도 가짜 MAC 주소를 무작위로 생성하는 것이 가능합니다.

MAC 주소를 무작위로 생성하고 싶지만 세 가지 요구 사항이 있습니다.

  1. MAC 주소는 네트워크마다 다릅니다. 이는 스타벅스와 런던 지하철 네트워크의 MAC 주소가 동일하지 않아 다른 서비스 제공업체 간에 내 활동을 연결하는 것이 불가능하다는 것을 의미합니다.
  2. MAC 주소는 자주 변경되어야 하기 때문에 내가 작년에 이곳을 75번이나 지나간 사람인지 네트워크상의 누구도 알 수 없습니다.
  3. MAC 주소는 하루 종일 변경되지 않은 상태로 유지되어야 합니다. MAC 주소가 변경되면 대부분의 네트워크는 연결을 끊은 다음 확인 페이지로 이동하여 다시 로그인해야 합니다. 이는 성가신 일입니다.
운영네트워크 관리자

처음 시도는 macchanger라는 도구를 사용하는 것이었지만 실패했습니다. NetworkManagerNetworkManager가 자체 설정에 따라 기본 MAC 주소를 복원하기 때문입니다.

Network Manager 1.4.1 이상이 자동으로 임의의 MAC 주소를 생성할 수 있다는 것을 알게 되었습니다. Ubuntu 17.04 버전을 사용하는 경우 이 구성 파일을 기반으로 이 작업을 수행할 수 있습니다. 하지만 이는 내 세 가지 요구 사항을 완전히 충족하지 않습니다(randomrandomstable 중에서 선택해야 하지만 하루 동안 동일하게 유지될 수 있는 옵션은 없습니다)

Ubuntu 16.04를 사용하고 있고 네트워크 관리자 버전이 1.2이기 때문에 상위 버전의 새로운 기능을 직접 사용할 수 없습니다. 어쩌면 네트워크 관리자가 무작위 방법을 지원하지만 성공하지 못했을 수도 있습니다. 그래서 이를 달성하기 위해 스크립트를 작성했습니다.

다행히 Network Manager 1.2에서는 MAC 주소 에뮬레이션이 가능합니다. 연결된 네트워크에서 '연결 편집' 옵션을 볼 수 있습니다.

Network Manager는 후크 처리도 지원합니다. /etc/NetworkManager/dispatcher.d/pre-up.d/에 있는 모든 스크립트는 네트워크 연결이 설정되기 전에 실행됩니다.

임의로 생성된 가짜 MAC 주소 할당
네트워크 ID와 날짜를 기반으로 새로운 임의의 MAC 주소를 생성하고 싶습니다. 네트워크 관리자의 명령줄 도구 nmcli를 사용하여 사용 가능한 모든 네트워크를 표시할 수 있습니다.

으아악

각 네트워크에는 고유 식별자(UUID)가 있으므로 계획을 구현하기 위해 UUID와 날짜를 연결한 다음 MD5를 사용하여 해시 값을 생성했습니다.

으아악

생성된 결과는 MAC 주소의 마지막 8바이트를 대체할 수 있습니다.

첫 번째 바이트 02는 이 주소가 자체 지정됨을 의미한다는 점에 주목할 가치가 있습니다. 실제로 실제 MAC 주소의 처음 3바이트는 제조업체에 의해 결정됩니다. 예를 들어 b4:b6:76은 Intel을 나타냅니다.

일부 라우터는 자신이 지정한 MAC 주소를 거부할 수도 있지만 아직까지는 이런 일이 발생하지 않았습니다.

네트워크에 연결할 때마다 이 스크립트는 nmcli를 사용하여 무작위로 생성된 의사 MAC 주소를 지정합니다.

마지막으로 ifconfig의 출력을 확인한 결과 MAC 주소 HWaddr이 실제 MAC 주소가 아닌 무작위로 생성된 주소(Intel을 에뮬레이트하는 주소)가 된 것을 발견했습니다.

으아악

스크립트
전체 스크립트는 Github에서도 볼 수 있습니다.

업데이트: 실제 인텔 주소와의 충돌을 피하려면 자신이 지정한 MAC 주소를 사용하세요. 감사합니다 @_fink


위 내용은 Ubuntu 16.04에서 WiFi MAC 주소를 무작위로 지정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 linuxprobe.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제