Linux

Root권한 없이 Wireshark 사용하기

Posted 2016. 02. 21 Updated 2017. 06. 02 Views 110137 Replies 0
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

네트워크 카드를 Dump모드로 변경해서 모든 패킷을 캡처하려면 Root권한이 있어야 합니다. 따라서 Wireshark같은 패킷 분석 툴을 사용하려면 기본적으로 프로그램을 Root권한으로 실행해야 합니다.

하지만 Wireshark 홈페이지에서는 보안상의 이유로 이 프로그램을 Root권한으로 실행하는 것을 권장하지 않습니다.

프로그램의 전체 코드중에 랜카드에서 패킷을 덤핑받는 영역은 극히 일부이고(Dumpcap 관련), 대부분은 파싱 및 분석을 위한 코드일텐데, 여기까지 Root권한으로 실행하면 위험의 소지가 있을수 있습니다. (발견되지 않은 버그라던가..)

그래서 Wireshark를 Root권한으로 실행하면 그러지 말라고 다음과 같이 경고창을 띄워 줍니다.

wireshark-as-root.png
▲ Wireshark를 Root로 실행하면 뜨는 경고창

귀찮으니까 그냥 [OK] 눌러서 닫고 써도 잘 되기는 하지만.. 뭔가 깨림칙하니까, 이왕이면 개발자의 조언을 듣도록 합시다. 그 과정이 복잡할 것 같지만 그닥 복잡하지도 않습니다.

단지 로그아웃 후 다시 로그인해야 활성화 되니 그것때문에 작업 흐름이 깨진다면 뭐 어쩔 수 없지만, 이번만 Root로 쓰고 그 다음부터는 정상적(?)으로 쓸 수 있도록 설정이나 해 두도록 합시다. (그런데 컴퓨터를 끌 기회가 안생기고.. ASKY)


Wireshark 설치

아직 설치도 안했다면.. 이거 먼저

sudo apt-get install wireshark


Non-root User도 Capture 가능하도록 설정하기

이와 관련해서 구글링해보면 다음과 같이 간단하게 해결할 수 있는 방법이 있는데도 불구하고 여러 가지 삽질 방법 Hitchhiker's guide to SapJil을 제안해 놓은 경우를 심심치 않게 볼 수 있었습니다. (그래서 역시 삽질의 시작은 공홈에서 해야 합니다. 물론 영어 디버프를 감내해야하겠지만..)

sudo dpkg-reconfigure wireshark-common 

dpkg-reconfigure.png
▲ <Yes>를 선택하고 [Enter]

이렇게 설정하면 wireshark  그룹에 속한 유저는 Root권한 없이도 패킷을 캡처할 수 있게 됩니다. 이 명령은 일종의 스위치로, 필요에 따라 Non-root User가 패킷을 캡처하거나 할 수 없도록 설정을 바꿀 수 있습니다.

이제 필요한 User를 wireshakr 그룹에 포함시켜서 Root권한 없이도 패킷을 캡처할 수 있게 해 주도록 합니다.

sudo usermod -a -G wireshark $USER

※ 이후 로그아웃 후 다시 로그인하면 변경한 설정이 적용되어 사용자 권한으로도 패킷 캡처를 할 수 있습니다.


* Ref: https://ask.wireshark.org/questions/7976/wireshark-setup-linux-for-nonroot-user


TAG •