2012-02-28 3 views
0

현재 네트워크의 모든 MAC 주소와 해당 이름 및 IP 주소 목록을 만드는 프로그램이 있습니다.MAC 변경 프로그램 또는 데몬?

이론적으로 매 시간마다 사용자가 제공 한 목록을 기반으로 MAC 주소가 변경 될 수 있는지 궁금합니다. 목록은 이미 명시된 프로그램에 의해 지속적으로 업데이트됩니다.

저는 Python과 Batch와 잘 어울립니다.하지만 지금은 맥 시스템을 실행하고 있습니다. (이 프로그램을 구현하고 싶습니다.) 그리고 네트워크 자체에 관해서는 bash 지식이 거의 없습니다. 시간에 민감한 백그라운드 작업 생성

너무 광범위한 질문이있는 경우 알려 주시기 바랍니다.

감사합니다.

답변

1

간단한 스크립트로이를 수행하고 cron을 사용하여 주기적으로 실행할 수 있습니다. 여기

은 ( here에서 적응) 쉘 스크립트에서 MAC 주소를 변경하는 방법에 대한 예

#NETWORKING="/etc/init.d/networking" # On some systems 
NETWORKING="service network"   # On my Fedora 16 box 

$NETWORKING stop 
ifconfig eth0 hw ether 02:01:02:03:04:08 
$NETWORKING start 

그래서 당신이 MAC 주소 것을 무작위 수있는 방법을 마련 할 필요가 것입니다.

그런 다음 crontab -e을 사용하여 crontab에 추가하십시오. 다음은 quick reference for crontab입니다.

여기에 임의의 MAC 주소를 생성하고 변경하는 일부 파이썬이 있습니다. MAC 생성 만 테스트되었습니다 (명백한 이유로). 또한 MAC 주소의 일부 바이트 범위를 제한 할 수도 있지만 이는 내 대답 범위를 벗어납니다.

from subprocess import call 
import random 

mac = [random.randint(0, 0xFF) for i in range(6)]  
macstr = ':'.join(['{:02X}'.format(x) for x in mac]) 
print 'Changing MAC address to', macstr 

call(['service', 'network', 'stop') 
call(['ifconfig', 'eth0', 'hw', 'ether', macstr]) 
call(['service', 'network', 'start') 
+0

그게 내가 가지고있는 문제입니다. 기존의 목록에서 그 MAC 주소를 무작위로 추출하는 것입니다. 그것은 단지 bash 스크립트이기 때문에 데이터 나 다른 것으로로드 할 수 없습니다 ... cron에 대한 참고를 주셔서 감사합니다! –

+0

아마도 나는 파이썬과 같은 것으로 이것을 고려할 것입니다. –

+0

어떻게 그 프로그램을 백그라운드 프로세스로 설정하겠습니까? MAC 주소를 무작위로 지정하고 싶지는 않습니다. 임의로 목록에서 가져와야합니다. 따라서 30 분마다 텍스트 파일에 나열된 MAC 주소 (줄 바꿈마다)가 새 MAC 주소로 설정됩니다. 그 프로그램 자체 (이제는 'call'메소드를 알고 있습니다)는 매우 간단합니다. 제 문제는 파이썬 프로그램을 데몬으로 설정하는 것입니다. 제 생각에 파이썬으로 작성한 다음 그 파이썬 프로그램을 호출하는 bash 스크립트를 작성하여 매 x 시간마다 파이썬 프로그램을 활성화하는 데몬으로 bash 스크립트를 설정합니다. –