서비스를 하다보면 원인 모를 트래픽이 증가하는 경우가 있다.
대부분 이런 경우는 크롤링일 경우가 많은데 그렇지 않을경우 어디서 트래픽을 발생되는지 궁금할 때가 있다.
그럴때 좋은툴이 nethogs 이다.
네트워크를 사용하는 프로세스별로 송/수신 양을 보여준다.
ubuntu 나 centos 경우는 패키지 매니저로 쉽게 설치 할 수 있다.
Ubuntu
$ sudo apt-get install nethogs
Centos
# yum install nethogs
그 외에 리눅스의 경우 소스를 빌드해서 사용하면 된다.
나같은 경우는 Amazon Linux에서 실행을 했어야 하는데 Amazon Linux 패키지 매니저에는 해당 패키지가 없었다.
그래서 도커로 아마존 리눅스 이미지를 받아서 빌드 후 바이너리만 업로드 해서 실행하였다.
Docker Run
$ docker run --rm -it --name=amazonlinux-server -v $PWD:/host 137112412989.dkr.ecr.us-east-1.amazonaws.com/amazonlinux:latest /bin/bash
bash-4.2 # yum install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 make git "ncurses*"
bash-4.2 # git clone https://github.com/raboof/nethogs.git
bash-4.2 # cd nethogs && make
bash-4.2 # cp ./src/nethogs /host
bash-4.2 # exit
host로 복사된 nethogs 만 Amazon Linux에 올려서 실행하면 된다.