Wireshark를 일반 사용자로 실행 (라즈파이 편)

1. 일반 사용자로 패킷 캡처하고 싶다!



라즈파이에서 Wireshark를 루트로 실행하면 패킷 캡처 실행 및 캡처 파일을 이동 및 공유 할 수 없습니다 ...
그래서 이번에는 라즈파이에서 Wireshark의 권한 변경을했습니다.
(RaspberryPi 3B, Raspbian Strech 사용)

2. 초기 상태



일반 사용자로 wireshark를 터미널 실행하면 무선 LAN 등 Interface가 표시되지 않았습니다.


3. 해결 방법



3.1 dumpcap의 기능 설정



terminal
pi@raspberrypi:~ $ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

<<명령의 의미>>
(1) setcap
"set file capabilities"의 약자로 파일 기능을 설정할 수 있는 명령

setcap [-q] ーv filename [ ... capabilitiesN fileN ]
인용원 : die.net "setcap(8) - Linux man page"

(2) CAP_NET_RAW

RAW 소켓과 PACKET 소켓의 사용 허용
인용원 : atmarkIT 제3회 권한을 최소화하는 Linux 커널 케이파빌리티

(3) CAP_NET_ADMIN

다양한 네트워크와 관련된 작업(라우팅 테이블 변경 등) 허용
인용원 : atmarkIT 제3회 권한을 최소화하는 Linux 커널 케이파빌리티

3.2 setcap에서 설정한 기능을 확인



terminal
pi@raspberrypi:~ $ sudo getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

3.3 일반 사용자를 Wireshark 실행 그룹에 추가



제 경우에는 라즈파이에 wireshark를 설치했을 때,
"wireshark"라는 Wireshark의 실행 권한을 가진 그룹이 있었기 때문에,
새롭고 그룹을 만들지 않았습니다.

terminal
pi@raspberrypi:~ $ sudo adduser pi wireshark

3.4 라즈파이 재부팅



terminal
pi@raspberrypi:~ $ reboot

3.5 wireshark 시작



terminal
pi@raspberrypi:~ $ wireshark

4. 실행 결과



Interface가 표시·인식되게 되었습니다!

좋은 웹페이지 즐겨찾기