2014-01-13 1 views
5

원시 802.11x 패킷을 보내는 Python 프로그램을 작성 중입니다. 프로그램 전체에서 모니터 인터페이스의 채널을 여러 번 변경하고 싶습니다. Scapy 라이브러리를 사용하고 있습니다. iwconfig과 같은 셸 명령을 실행하지 않고이 작업을 수행 할 수있는 방법이 있습니까?Python Change Interface Channel

최상의 방법이 여러 개 있다면?

답변

2

1 년 반이 지났습니다. (아마도 내 프로젝트에 뻔뻔한 플러그가 될 수도 있습니다.)하지만 나는 당신과 같은 문제에 부딪 혔습니다. 나는 네이티브 솔루션을 찾고/기다리는 것에 지치고 스스로 코드를 작성하기로 결정했다. - 소스가 github에있다. https://github.com/wraith-wireless/PyRIC/ pyw.py에서 chset 함수를 체크 아웃하자. 나는 현재 당신이 pip를 통해 설치할 수있는 버전 1.1에 있습니다.

2

iwconfig를 언급 한 리눅스 시스템에서이 모든 작업을 수행한다고 가정합니다. Linux Kernel Wireless documentation에서 무선 인터페이스 모드 및 채널 변경과 상호 작용하는 유일한 완전한 (같이하지 개발 중) 방법을 찾고

두 개의 명령 줄 유틸리티, 당신이 언급 한 iwconfig 새로운 iw하는 것입니다. 명령 줄 유틸리티 iw은 많은 변경 사항이있는 replacing iwconfig입니다.

iwlib 라이브러리는 iw 또는 python-iwlib과 같은 Python 모듈을 통해 인터페이스해야하는 라이브러리입니다.

파이썬 iwlib 모듈이 완전하지 않아 현재 필요한 기능을 제공하지 않습니다. 무선 인터페이스의 현재 구성에 대해서만 알려줄 수 있습니다.

사용하는 다른 유용한 유틸리티는 airmon-ng입니다. 이 유틸리티는 이전에 언급 한 명령 행 도구와 인터페이스하여 쉘 명령을 호출해야합니다.

완벽한 솔루션을 제공하지 못해 죄송합니다. 아마도 당신은 python-iwlib 모듈을 향상시킬 수있는 사이클을 가지고있을 것입니다. 쉘 명령어를 사용하지 않는 것이 최선의 방법 인 것 같습니다.

+0

고마워요! 'python-iwlib'는 채널을 변경할 수있는 능력을주지 못하지만, 다른 많은 유용한 것들이 많이 있습니다. 나는 네이티브 대안이 없다면'iw'를 사용하는 것이 좋습니다. +1 – 735Tesla