예전에 openwrt 확인했을 때는 iptraf (traffic 분석툴)이 포함되어 있었던 것 같은데 막상 최근 openwrt 바이너리를 다운로드 받아 보이 해당 명령어가 존재하지 않았다. 



인터넷을 검색해 보니 iptraf는 더 이상 포함하지 않는다는 글이 보인다. 좀 더 검색을 해보니 iptraf 와 같이 이전 openwrt의 old package를 사용할 수 있도록 해 놓은 곳이 있다. 


https://github.com/mhei/openwrt-oldpackages



 좀 더 정확히 이야기하면 실행 binary 자체를 올려 놓은 것은 아니고, openwrt build system 내에서 빌드하여 바이너리에 포함될 수 있도록 Makefile을 제공하고 있다. 


해당 git 에서 Makefile 바이너리를 다운로드 받아 openwrt binary 에 포함되도록 하는 방법은 다음과 같다. 


1. 우선 해당 git clone을 통해 해당 Makefile을 다운로드 받는다.


user@User:~$ mkdir temp

user@User:~$ cd temp

user@User:~/temp$ git clone https://github.com/mhei/openwrt-oldpackages.git

Cloning into 'openwrt-oldpackages'...

remote: Counting objects: 76112, done.

remote: Total 76112 (delta 0), reused 0 (delta 0), pack-reused 76112

Receiving objects: 100% (76112/76112), 16.89 MiB | 1.70 MiB/s, done.

Resolving deltas: 100% (41695/41695), done.

Checking connectivity... done.


2. 적용을 원하는 package의 directory로 이동한다. 


user@User:~/temp$ cd openwrt-oldpackages/net/

user@User:~/temp/openwrt-oldpackages/net$ ls

aircrack-ptw    dsniff         l2tpns          nocatsplash       remotefs                 ucarp

airpwn          dudders        l2tpv3tun       nprobe            rinetd                   ucspi-tcp

amule           e169-stats     leafnode        nstx              rp-l2tp                  udp-broadcast-relay

amwall          ekg            lft             nufw              rp-pppoe                 udpcast

aoetools        elinks         live            nuttcp            rrs                      uftp

apf             etherpuppet    lsm             nzbget            rssh                     uhub

appweb          ettercap       mac-to-devinfo  nzbgetweb         scanlogd                 unfs3

aprx            ez-ipupdate    madwifi         obfsproxy         scdp                     uob-nomad

arpd            faifa          madwimax        oidentd           seeks                    updatedd

arpwatch        flow-tools     maradns         opendchub         serialoverip             uucp

autossh         fping          matrixtunnel    openl2tp          shat                     vblade

axel            fprobe         mcabber         openntpd          shorewall-core           veth

bahamut         fprobe-ulog    mdk3            openrrcp          shorewall-lite           vgp

bing            frickin        mercurial       openslp           slurm                    vnc-reflector

bitchx          gatling        mgen            openswan          smtptrapd                vncrepeater

bitlbee         gesftpserver   miau            paris-traceroute  snortsam                 vpzone

btpd            hiawatha       mii-tool        parprouted        snort-wireless           vrrpd

bwm             hping3         mini_httpd      pdnsd             speedtouch-usb-firmware  vtun

bwping          hsflowd        mini_snmpd      peerguardian      srelay                   wccpd

cbtt            httping        mosh            peervpn           sscep                    wdiag

cdp             httptunnel     mrtg            pepperspot        sslcat                   weechat

chillispot      icmptx         multiwan        pepsal            sslsniff                 wing

cmdftp          ifstat         mutella         portsentry        sslstrip                 wiviz

corkscrew       imsnif         mvprelay        proftpd           ssltunnel                wknock

crda            imspector      n2n             psybnc            stun                     wol

crowdcontrol    ipcad          natpmp          ptpd              subversion               wprobe

cups            ipkungfu       nbtscan         ptunnel           synce-dccm               wput

cups-bjnp       iptables-snmp  ncftp           pure-ftpd         tcptraceroute            wrt-radauth

curlftpfs       iptraf         ndyndns         pyload            tctool                   xsupplicant

cutter          ipupdate       netio           pyrit             tftp-hpa                 yaddns

darkstat        isakmpd        netpipe         qolyester         tig                      yafc

dhcp-forwarder  isc-dhcp       netstat-nat     quicktun          tmsnc

dircproxy       jtg            net-tools       raddump           transocks

ditg            karma          nfs-server      rarpd             tsocks

djbdns          knock          ngrep           reaim             tstat

dns2tcp         l2tpd          nocatauth       redir             ttcp


3. 사용하기 원하는 package의 directory를 빌드할 openwrt package 위치로 복사한다. 


user@User:~/temp/openwrt-oldpackages/net$ cp -a iptraf/ ~/openwrt/package/network/utils/


4. make menuconfig 하여 추가한 package가 목록에 있는지 확인한다. 


[package 복사전] iptraf가 보이지 않는다.



[package 복사후] iptraf가 추가된 것을 확인할 수 있다.



5. 추가한 package (iptraf)를 선택한다.



6. make 를 통해 openwrt binary 를 build한다. 혹은 package를 별도로 빌드한다. 


openwrt binary build : http://technote.kr/167

별도의 package build : http://technote.kr/174


7. 새로 빌드한 binary를 설치하면 iptraf 명령어가 포함되어 있음을 확인할 수 있다. 



위와 같은 방식으로 iptraf 뿐만 아니라 repository에 없는 다른 package들도 추가가 가능하다.