IDC 엔지니어의 기술 이야기

ubuntu wireshark 설치 및 사용기 본문

OS_APP/Linux

ubuntu wireshark 설치 및 사용기

붉은볼곰팅이 2023. 7. 3. 14:18
반응형

환경

OS : Ubuntu 22.04 LTS(Server)

Wireshark : Wireshark 3.6.2

 

초록색 : 명령어 입력

파랑색 : 설정 입력(Vi,Nano등)

빨강색 : 주석 

 

ㅁ Wireshark 설치 

1) wireshark 설치

wireshark@test:~$ sudo apt install wireshark

 

2) 캡쳐 실행권한 설정

일반유저도 패킷캡쳐를 가능하게 할거냐는 질문인데 보안에 딱히 상관없다면 "Yes"를 선택

 

3) Wireshark 실행

wireshark@test:~$ sudo wireshark

Windows에서 실행하는것 처럼 아래 화면과 같이 실행됨. 사용방법은 동일

 

문제점

wireshark가 설치된 서버는 하이퍼스래딩 32CPU, 메모리는 32G, Swap은 64G 정도고

평균트래픽 100M 미만의 일반적인 웹서비스의 데이터에 대해서

캡쳐를 해본결과 1시간 평균 약 30G ~ 40G 내외정도로 패킷이 수집 되었다.

다만 약 3시간 지속적으로 프로그램을 구동하게 되면 자동으로 죽는 현상이 발생......

짧은시간 트래픽 수집후 분석하는 용도면 상관없다..

 

문제사항 : 메모리 과다 사용으로 인한 프로그램 Hang 걸림.. 현상은 프로그램 구동시 메모리 사용이 급격하게 증가하여

1시간내로 메모리가 꽉차고 Swap까지는 2시간만에 꽉차고 그러고 죽음

 

메모리 과다 사용을 해결해야 될듯....

조치사항1) Wireshark 프로그램에서 "Capture" 옵션중에 1시간 단위로 파일을 잘라서 저장하는 기능 시행

결과1) 똑같음

 

조치사항2) Wireshark 프로그램을 1시간에 한번씩 재구동(Gui에서...)

결과2) 똑같음(프로그램 재실행 한다고 메모리가 반환되지 않았음)

 

조치사항3) WireShark 프로그램은 Gui가 아닌 CLI로 구동해봄

wireshark@test:~$ sudo /usr/bin/dumpcap -P -b interval:3600 -i eno2 -y EN10MB -Z none -w /data/packet/packet.pcap

**/ 위 명령어는 GUI에서 원하는 형태의 캡쳐로 프로그램 구동하면 CLI에서 명령어로 확인 가능함

결과2) 이번에 "Buffer/cache" 메모리 영역을 지속적으로 사용하여 결국에는 메모리도 꽉차서 죽음

 

조치사항4) CLI에서 아래와 같은 구조로 프로그램 실행 계획

// 메모리 영역 초기화 부분은 메모리가 얼만큼 빨리 소모되는가에 따라서 시간은 정해야 된다

빠르게 소모된다고 하면 시간당 2번,3번도 설정할수 있는것이다

50 * * * * user /data/packet/dumpcap_kill.sh    // Wireshark 프로세스 종료
55 * * * * root sync && echo 3 > /proc/sys/vm/drop_caches   // "Buffer.cache" 메모리 영역 초기화
00 * * * * user /data/packet/dumpcap_start.sh  // Wireshark 프로세스 실행

 

// dumpcap_kiil.sh

wireshark@test:~$ cat /data/packet/dumpcap_kill.sh 
var=$(ps -ef|grep 'dumpcap'|grep -v 'grep'|grep -v $0)
pid=$(echo ${var} | cut -d " " -f2)
 
if [ -n "${pid}" ]
then
    kill -9 ${pid}
    echo $* is terminated.
 
else
    echo $* is not running.
fi

// dumpcap_start.sh

** 아래 실행 옵션은 각자 환경에 맞게끔 설정하면 됩니다. Gui에서 해보고 CLI로 명령어가 보이면 그대로 활용하면 됨

wireshark@test:~$ cat /data/packet/dumpcap_start.sh 
#/bin/bash
/usr/bin/dumpcap -P -b interval:3600 -i eno2 -y EN10MB -Z none -w /data/packet/packet.pcap > /dev/null 2>&1 &

 

결과4) 오류없이 진행됨(단 1시간 간격으로 10분정도의 패킷은 수집 못함. 간격을 줄이고 싶으면 시간 조정 하면됨)

반응형

'OS_APP > Linux' 카테고리의 다른 글

CentOS 7 DRBD + Oracle + PCSD + Corosync + Pacemaker 설치 및 운영  (0) 2019.12.30
Linux Bind named.conf 및 Zone 이상유무 체크  (0) 2019.06.17
SSH 접속 느려짐  (0) 2019.02.26
CentOS Bonding  (0) 2019.02.20