{"id":13616,"date":"2022-08-03T23:27:03","date_gmt":"2022-08-03T20:27:03","guid":{"rendered":"https:\/\/kifarunix.com\/?p=13616"},"modified":"2024-03-09T21:03:29","modified_gmt":"2024-03-09T18:03:29","slug":"install-malcolm-network-traffic-analysis-tool-on-ubuntu","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-malcolm-network-traffic-analysis-tool-on-ubuntu\/","title":{"rendered":"Install Malcolm Network Traffic Analysis Tool on Ubuntu 22.04"},"content":{"rendered":"\n<p>Follow through this tutorial to learn how to install Malcolm network traffic analysis tool on Ubuntu 22.04. <a href=\"https:\/\/malcolm.fyi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Malcolm<\/a> is a network traffic analysis tool suite for full packet capture artifacts (PCAP files) and Zeek logs. The PCAP files or Zeek logs can be uploaded to Malcolm via browser, forwarded via the forwarders or can capture live traffic, parses and normalize the traffic for visualization via OpenSearch dashboards or <a href=\"https:\/\/kifarunix.com\/?s=arkime\" target=\"_blank\" rel=\"noreferrer noopener\">Arkime<\/a>.<\/p>\n\n\n\n<p>Read more about Malcolm network traffic analysis tool and its features on their page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Install Malcolm on Ubuntu 22.04<\/h2>\n\n\n\n<p>Malcolm provides scripts that can be used to easy deploy them on a Linux system.<\/p>\n\n\n\n<p>There are two ways in which you can obtain the Malcolm installation script.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Either by downloading the <code>install.py<\/code>&nbsp;and the&nbsp;<code>malcolm_YYYYMMDD_HHNNSS_xxxxxxx.tar.gz<\/code> from the <a href=\"https:\/\/github.com\/idaholab\/Malcolm\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">Malcolm Github releases page.<\/a><\/li>\n\n\n\n<li>Or by simply cloning Malcolm Github repository.<\/li>\n<\/ol>\n\n\n\n<p>In this tutorial, we will use the second method to install Malcolm.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">System Requirements<\/h3>\n\n\n\n<p>Check Malcolm deployment <a href=\"https:\/\/github.com\/idaholab\/Malcolm\/tree\/main#recommended-system-requirements\" target=\"_blank\" rel=\"noreferrer noopener\">system requirements.<\/a><\/p>\n\n\n\n<p>In our environment, these are the system resources we are using;<\/p>\n\n\n\n<p>CPU cores;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dmidecode -t 4 | grep -i 'core count'<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\tCore Count: 4<\/code><\/pre>\n\n\n\n<p>RAM;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>free -h<\/code><\/pre>\n\n\n\n<pre class=\"scroll-sz\"><code>               total        used        free      shared  buff\/cache   available\nMem:            15Gi        14Gi       153Mi       7.0Mi       723Mi       372Mi\nSwap:             0B          0B          0B\n<\/code><\/pre>\n\n\n\n<p>Disk Space;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df -hT -P \/<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Filesystem     Type  Size  Used Avail Use% Mounted on\n\/dev\/sda1      ext4  150G   14G  131G  10% \/<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Create Malcolm System Account<\/h3>\n\n\n\n<p>Create an account to run Malcolm with;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>useradd -m -d \/opt\/malcolm -s \/bin\/bash -G sudo malcolm<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>passwd malcolm<\/code><\/pre>\n\n\n\n<p>Get the ID of the user as this is required while configuring Malcolm below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>id malcolm<\/code><\/pre>\n\n\n\n<p>Sample output;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>uid=1001(malcolm) gid=1001(malcolm) groups=1001(malcolm),27(sudo)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Run system update;<\/h3>\n\n\n\n<p>Ensure system package cache is up-to-date.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Install Git package on Ubuntu 22.04;<\/h3>\n\n\n\n<p>You will need git to clone the Malcolm Github repository<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install git<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Clone Malcolm Github Repository<\/h3>\n\n\n\n<p>Run the command below to clone Malcolm Github repository;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>su - malcolm<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/idaholab\/Malcolm<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Install Required Malcolm Packages and Setup System Tunables<\/h3>\n\n\n\n<p>Next, change into cloned Malcolm Github repository directory;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd Malcolm<\/code><\/pre>\n\n\n\n<p>Malcolm installation scripts are located under scripts directory. Thus, to launch the installation, execute the command below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo .\/scripts\/install.py<\/code><\/pre>\n\n\n\n<p>Malcolm runs atop Docker. Thus, when the script runs;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You will be prompted to install required Docker packages. When prompted, accept to proceed with installation.<\/li>\n\n\n\n<li>Once the installation of Docker packages is done, you are prompted on whether to add a non-root user account to Docker group. And by all means, please add your standard user account into the group!<\/li>\n\n\n\n<li>Next, install Docker compose.<\/li>\n<\/ul>\n\n\n\n<pre class=\"scroll-box\"><code>Installing required packages: ['apache2-utils', 'make', 'openssl', 'python3-dialog']\n\n\"docker info\" failed, attempt to install Docker? (Y\/n): y\n\nAttempt to install Docker using official repositories? (Y\/n): y\nInstalling required packages: ['apt-transport-https', 'ca-certificates', 'curl', 'gnupg-agent', 'software-properties-common']\nInstalling docker packages: ['docker-ce', 'docker-ce-cli', 'containerd.io']\nInstallation of docker packages apparently succeeded\n\nAdd a non-root user to the \"docker\" group?: y\n\nEnter user account: kifarunix \n\nAdd another non-root user to the \"docker\" group?: no\n\n\"docker-compose version\" failed, attempt to install docker-compose? (Y\/n): y\n\nInstall docker-compose directly from docker github? (Y\/n): y\nDownload and installation of docker-compose apparently succeeded\n...\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Next, you will be prompted to update some kernel tunables. Accept for all prompts.<\/li>\n<\/ul>\n\n\n\n<pre class=\"scroll-box\"><code>fs.file-max increases allowed maximum for file handles\nfs.file-max= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nfs.inotify.max_user_watches increases allowed maximum for monitored files\nfs.inotify.max_user_watches= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nfs.inotify.max_queued_events increases queue size for monitored files\nfs.inotify.max_queued_events= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nfs.inotify.max_user_instances increases allowed maximum monitor file watchers\nfs.inotify.max_user_instances= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nvm.max_map_count increases allowed maximum for memory segments\nvm.max_map_count= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nnet.core.somaxconn increases allowed maximum for socket connections\nnet.core.somaxconn= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nvm.swappiness adjusts the preference of the system to swap vs. drop runtime memory pages\nvm.swappiness= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nvm.dirty_background_ratio defines the percentage of system memory fillable with \"dirty\" pages before flushing\nvm.dirty_background_ratio= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\nvm.dirty_ratio defines the maximum percentage of dirty system memory before committing everything\nvm.dirty_ratio= appears to be missing from \/etc\/sysctl.conf, append it? (Y\/n): y\n\n\n\/etc\/security\/limits.d\/limits.conf increases the allowed maximums for file handles and memlocked segments\n\/etc\/security\/limits.d\/limits.conf does not exist, create it? (Y\/n): y\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Once that is done, the script will exit.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Run Malcolm System Configurations<\/h3>\n\n\n\n<p>Once the install script above completes, proceed to configure Malcolm;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo .\/scripts\/install.py --configure<\/code><\/pre>\n\n\n\n<p>When configuration starts;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose a user with which to run Malcolm as. We created <strong>malcolm<\/strong> user account above, whose UID and GID is <strong>1001<\/strong>. Hence, say no to user with UID\/GID 1000.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Malcolm processes will run as UID 1000 and GID 1000. Is this OK? (Y\/n): <strong>n<\/strong><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enter the user ID and group ID of malcolm system account.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Enter user ID (UID) for running non-root Malcolm processes; 1001<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Enter group ID (GID) for running non-root Malcolm processes; 1001<\/code><\/pre>\n\n\n\n<p>Confirm;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Malcolm processes will run as UID 998 and GID 998. Is this OK? <strong>yes<\/strong><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OpenSearch and logstash settings;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Setting 10g for OpenSearch and 3g for Logstash. Is this OK? <strong>yes<\/strong><\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Setting 3 workers for Logstash pipelines. Is this OK? (Y\/n): <strong>yes<\/strong><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restart Malcolm when system or Docker restarts;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Restart Malcolm upon system or Docker daemon restart? Yes<\/code><\/pre>\n\n\n\n<p>Choose when to restart Malcolm. You have four options here; <strong>no, on-failure, always, unless-stopped<\/strong>. Choose the default option, <strong>unless-stopped<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose whether to setup Malcolm with HTTPS. We select <strong>yes<\/strong> (SSL certificates will be generated at a later step)<\/li>\n\n\n\n<li>Choose whether Malcolm will run behind any proxy. You are given some options like Caddy, Traefik..We choose <strong>No<\/strong>.<\/li>\n\n\n\n<li>On Default networking, press enter to accept the defaults.<\/li>\n\n\n\n<li>If prompted whether to use LDAP, select <strong>no<\/strong> for now.<\/li>\n\n\n\n<li>Store OpenSearch index snapshosts locally in \/opt\/malcolm\/Malcom\/opensearch-backup? You can choose to accept the default or just enter the new path, <code><strong>\/opt\/malcolm\/<\/strong><\/code>.<\/li>\n\n\n\n<li>Choose to Compress OpenSearch index snapshots (<strong>yes<\/strong>)<\/li>\n\n\n\n<li>When prompted to delete the oldest indices when the database exceeds a certain size choose no to avoid loosing data.<\/li>\n\n\n\n<li>Automatically analyze all PCAP files with Suricata: yes<\/li>\n\n\n\n<li>Automatically analyze all PCAP files with Zeek: <strong>yes<\/strong><\/li>\n\n\n\n<li><strong>Disable <\/strong>reverse DNS lookup locally for source and destination IP addresses in logs.<\/li>\n\n\n\n<li><strong>Enable<\/strong> hardware vendor OUI lookups for MAC addresses.<\/li>\n\n\n\n<li>Perform string randomness scoring on some fields: <strong>yes<\/strong><\/li>\n\n\n\n<li>Expose OpenSearch port to external hosts: <strong>no<\/strong><\/li>\n\n\n\n<li>Expose Logstash port to external hosts: <strong>no<\/strong><\/li>\n\n\n\n<li>Forward Logstash logs to external OpenSearch instance: <strong>no<\/strong><\/li>\n\n\n\n<li>Expose Filebeat TCP port to external hosts: <strong>no<\/strong><\/li>\n\n\n\n<li>Enable file extraction with Zeek: <strong>yes<\/strong><\/li>\n\n\n\n<li>choose <strong>interesting<\/strong> as the extraction behavior.<\/li>\n\n\n\n<li>Select <strong>quarantine<\/strong> as the file preservation method.<\/li>\n\n\n\n<li>Scan extracted files\/PE files with ClamAV: <strong>yes<\/strong><\/li>\n\n\n\n<li>Scan extracted files\/PE files with Yara: <strong>yes<\/strong><\/li>\n\n\n\n<li>Scan extracted files\/PE files with Capa: <strong>yes<\/strong><\/li>\n\n\n\n<li>Lookup extracted file hashes with VirusTotal: <strong>no<\/strong><\/li>\n\n\n\n<li>Download updated scanner signatures periodically: <strong>yes<\/strong><\/li>\n\n\n\n<li>Should Malcolm capture network traffic to PCAP files: <strong>yes<\/strong><\/li>\n\n\n\n<li>Specify capture interface(s) (comma-separated) on which Malcolm will use to network traffic: <strong>enp0s8<\/strong><\/li>\n\n\n\n<li>Capture packets using netsniff-ng? (Y\/n): <strong>yes<\/strong><\/li>\n\n\n\n<li>Capture packets using tcpdump? (y\/N): <strong>no<\/strong><\/li>\n\n\n\n<li>Capture filter (tcpdump-like filter expression; leave blank to capture all traffic) (): You can disable traffic related to Elasticsearch (port 9200), Logstash (5044), Arkime(8005): <strong><code>not port 9200 and not port 5044 and not port 8005<\/code><\/strong>.<\/li>\n\n\n\n<li>Disable capture interface hardware offloading and adjust ring buffer sizes? (y\/N): <strong>n<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Malcolm has now been installed to \/home\/$USER\/Malcolm.<\/p>\n\n\n\n<p>Scripts for starting and stopping Malcolm and changing authentication-related settings can be found in \/home\/$USER\/Malcolm\/scripts.<\/p>\n\n\n\n<p>Run system reboot to apply some of the system changes;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reboot -i<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Create Malcolm User Account<\/h3>\n\n\n\n<p>Navigate back to the Malcolm Github repository directory;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>su - malcolm<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ~\/Malcolm<\/code><\/pre>\n\n\n\n<p>Run the authentication setup script;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/scripts\/auth_setup<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Store administrator username\/password <strong>for<\/strong> <strong>local<\/strong> Malcolm access? <strong>yes<\/strong><\/li>\n\n\n\n<li>Set administrator password and username.<\/li>\n\n\n\n<li>(Re)generate self-signed SSL certs for web traffic HTTPS: <strong>yes<\/strong><\/li>\n\n\n\n<li>(Re)generate self-signed certificates for a remote log forwarder: <strong>yes<\/strong><\/li>\n\n\n\n<li>Store username\/password for forwarding Logstash events to a secondary, external OpenSearch instance: <strong>no<\/strong>.<\/li>\n\n\n\n<li>Store username\/password for email alert sender account (see https:\/\/opensearch.org\/docs\/latest\/monitoring-plugins\/alerting\/monitors\/#authenticate-sender-account): <strong>no<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Download Malcolm Docker Images<\/h3>\n\n\n\n<p>Next, run the command below to download Malcolm Docker images from the Docker hub.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ~\/Malcolm<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>docker-compose pull<\/code><\/pre>\n\n\n\n<p>Depending on your internet speed, this may take a few mins to complete pulling the images.<\/p>\n\n\n\n<p>Once all the required images are downloaded, you can list them as follow;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker images<\/code><\/pre>\n\n\n\n<p>Sample output;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>REPOSITORY                        TAG       IMAGE ID       CREATED       SIZE\nmalcolmnetsec\/zeek                6.1.0     f866620ebd58   3 weeks ago   1.29GB\nmalcolmnetsec\/dashboards          6.1.0     13775018c809   3 weeks ago   1.08GB\nmalcolmnetsec\/arkime              6.1.0     5b7f6018db22   3 weeks ago   794MB\nmalcolmnetsec\/logstash-oss        6.1.0     a8b93b43dbb3   3 weeks ago   1.46GB\nmalcolmnetsec\/suricata            6.1.0     fa25601e29c4   3 weeks ago   285MB\nmalcolmnetsec\/filebeat-oss        6.1.0     b4d1c83bf3de   3 weeks ago   648MB\nmalcolmnetsec\/file-monitor        6.1.0     fa9438234b42   3 weeks ago   589MB\nmalcolmnetsec\/nginx-proxy         6.1.0     bb9720d9d456   3 weeks ago   124MB\nmalcolmnetsec\/file-upload         6.1.0     fdbd62ce5a92   3 weeks ago   259MB\nmalcolmnetsec\/htadmin             6.1.0     623e193fd419   3 weeks ago   242MB\nmalcolmnetsec\/opensearch          6.1.0     a1bbcaae7647   3 weeks ago   1.21GB\nmalcolmnetsec\/pcap-monitor        6.1.0     0e0cb91f32a1   3 weeks ago   214MB\nmalcolmnetsec\/api                 6.1.0     54a99d983b37   3 weeks ago   173MB\nmalcolmnetsec\/pcap-capture        6.1.0     9a1664dc488f   3 weeks ago   121MB\nmalcolmnetsec\/freq                6.1.0     e4691604218f   3 weeks ago   131MB\nmalcolmnetsec\/dashboards-helper   6.1.0     ef14087c003d   3 weeks ago   169MB\nmalcolmnetsec\/name-map-ui         6.1.0     90f49b94bfe3   3 weeks ago   123MB\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Running Malcolm Service<\/h3>\n\n\n\n<p>You can now start Malcolm services using the startup script, <strong><code>.\/scripts\/start<\/code><\/strong>.<\/p>\n\n\n\n<p>The script can be used to start, stop, restart, wipe Malcolm data, etc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/scripts\/start --help<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>\nusage: start <arguments>\nMalcolm control script\noptions:\n  -v [DEBUG], --verbose [DEBUG]\n                        Verbose output\n  -f <STR>, --file <STR>\n                        docker-compose YML file\n  -s <STR>, --service <STR>\n                        docker-compose service (only for status and logs operations)\n  -l [CMDLOGS], --logs [CMDLOGS]\n                        Tail Malcolm logs\n  --start [CMDSTART]    Start Malcolm\n  --restart [CMDRESTART]\n                        Stop and restart Malcolm\n  --stop [CMDSTOP]      Stop Malcolm\n  --wipe [CMDWIPE]      Stop Malcolm and delete all data\n  --auth [CMDAUTHSETUP]\n                        Configure Malcolm authentication\n  --status [CMDSTATUS]  Display status of Malcolm components\n<\/code><\/pre>\n\n\n\n<p>You can simply start Malcolm by executing the start script with no arguments.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/scripts\/start<\/code><\/pre>\n\n\n\n<p>It will take a few minutes to start all necessary Malcolm services.<\/p>\n\n\n\n<p>The start script will launch Malcolm in the foreground and populate debug messages to the console.<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>Started Malcolm\n\n\nIn a few minutes, Malcolm services will be accessible via the following URLs:\n------------------------------------------------------------------------------\n  - Arkime: https:\/\/localhost\/\n  - OpenSearch Dashboards: https:\/\/localhost\/dashboards\/\n  - PCAP upload (web): https:\/\/localhost\/upload\/\n  - PCAP upload (sftp): sftp:\/\/username@127.0.0.1:8022\/files\/\n  - Host and subnet name mapping editor: https:\/\/localhost\/name-map-ui\/\n\n  - Account management: https:\/\/localhost:488\/\n\nNAME                          COMMAND                  SERVICE             STATUS               PORTS\nmalcolm-api-1                 \"\/usr\/local\/bin\/dock\u2026\"   api                 running (starting)   5000\/tcp\nmalcolm-arkime-1              \"\/usr\/local\/bin\/dock\u2026\"   arkime              running (starting)   8081\/tcp\nmalcolm-dashboards-1          \"\/usr\/local\/bin\/dock\u2026\"   dashboards          running (starting)   5601\/tcp\nmalcolm-dashboards-helper-1   \"\/usr\/local\/bin\/dock\u2026\"   dashboards-helper   running (starting)   28991\/tcp\nmalcolm-file-monitor-1        \"\/usr\/local\/bin\/dock\u2026\"   file-monitor        running (starting)   8440\/tcp\nmalcolm-filebeat-1            \"\/usr\/local\/bin\/dock\u2026\"   filebeat            running (starting)   127.0.0.1:5045-&gt;5045\/tcp\nmalcolm-freq-1                \"\/usr\/local\/bin\/dock\u2026\"   freq                running (starting)   10004\/tcp\nmalcolm-htadmin-1             \"\/usr\/local\/bin\/dock\u2026\"   htadmin             running (starting)   80\/tcp\nmalcolm-logstash-1            \"\/usr\/local\/bin\/dock\u2026\"   logstash            running (starting)   127.0.0.1:5044-&gt;5044\/tcp\nmalcolm-name-map-ui-1         \"\/usr\/local\/bin\/dock\u2026\"   name-map-ui         running (starting)   8080\/tcp\nmalcolm-nginx-proxy-1         \"\/usr\/local\/bin\/dock\u2026\"   nginx-proxy         running (starting)   0.0.0.0:443-&gt;443\/tcp, 0.0.0.0:488-&gt;488\/tcp, 127.0.0.1:5601-&gt;5601\/tcp, 127.0.0.1:9200-&gt;9200\/tcp\nmalcolm-opensearch-1          \"\/usr\/local\/bin\/dock\u2026\"   opensearch          running (starting)   9650\/tcp\nmalcolm-pcap-capture-1        \"\/usr\/local\/bin\/dock\u2026\"   pcap-capture        running              \nmalcolm-pcap-monitor-1        \"\/usr\/local\/bin\/dock\u2026\"   pcap-monitor        running (starting)   30441\/tcp\nmalcolm-suricata-1            \"\/usr\/local\/bin\/dock\u2026\"   suricata            running (starting)   8711\/tcp\nmalcolm-upload-1              \"\/usr\/local\/bin\/dock\u2026\"   upload              running (starting)   127.0.0.1:8022-&gt;22\/tcp\nmalcolm-zeek-1                \"\/usr\/local\/bin\/dock\u2026\"   zeek                running (starting) \n....\n<\/code><\/pre>\n\n\n\n<p>Press <strong>Ctrl+z<\/strong> to run Malcolm in the background. You can always bring it to foreground by just typing <strong>fg<\/strong>.<\/p>\n\n\n\n<p>Check the status of Malcolm containers;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps -a<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>CONTAINER ID   IMAGE                                   COMMAND                  CREATED         STATUS                           PORTS                                                                                            NAMES\n1a164697dc9d   malcolmnetsec\/nginx-proxy:6.1.0         \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           0.0.0.0:443-&gt;443\/tcp, 127.0.0.1:5601-&gt;5601\/tcp, 0.0.0.0:488-&gt;488\/tcp, 127.0.0.1:9200-&gt;9200\/tcp   malcolm-nginx-proxy-1\nd94fdbdc5edc   malcolmnetsec\/filebeat-oss:6.1.0        \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           127.0.0.1:5045-&gt;5045\/tcp                                                                         malcolm-filebeat-1\n41a1664e9863   malcolmnetsec\/suricata:6.1.0            \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           8711\/tcp                                                                                         malcolm-suricata-1\n18ddca5a001a   malcolmnetsec\/dashboards:6.1.0          \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           5601\/tcp                                                                                         malcolm-dashboards-1\n6cc30e2dc8ea   malcolmnetsec\/file-upload:6.1.0         \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           80\/tcp, 127.0.0.1:8022-&gt;22\/tcp                                                                   malcolm-upload-1\n21de5caca01e   malcolmnetsec\/zeek:6.1.0                \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)                                                                                                            malcolm-zeek-1\nc7d9b3da48e8   malcolmnetsec\/dashboards-helper:6.1.0   \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           28991\/tcp                                                                                        malcolm-dashboards-helper-1\nd41224f2d9fc   malcolmnetsec\/logstash-oss:6.1.0        \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           9001\/tcp, 127.0.0.1:5044-&gt;5044\/tcp, 9600\/tcp                                                     malcolm-logstash-1\n3de2293aac1b   malcolmnetsec\/arkime:6.1.0              \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           8000\/tcp, 8005\/tcp, 8081\/tcp                                                                     malcolm-arkime-1\n286a51eff770   malcolmnetsec\/pcap-monitor:6.1.0        \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           30441\/tcp                                                                                        malcolm-pcap-monitor-1\n9372ec08a576   malcolmnetsec\/file-monitor:6.1.0        \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           3310\/tcp, 8440\/tcp                                                                               malcolm-file-monitor-1\n13cb9b77965d   malcolmnetsec\/api:6.1.0                 \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           5000\/tcp                                                                                         malcolm-api-1\ndd079184f941   malcolmnetsec\/pcap-capture:6.1.0        \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes                                                                                                                      malcolm-pcap-capture-1\na00f79a8e1b9   malcolmnetsec\/htadmin:6.1.0             \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           80\/tcp                                                                                           malcolm-htadmin-1\n17750ddd1a72   malcolmnetsec\/name-map-ui:6.1.0         \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           8080\/tcp                                                                                         malcolm-name-map-ui-1\nadd53463e7f8   malcolmnetsec\/opensearch:6.1.0          \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 1 second (health: starting)   9200\/tcp, 9300\/tcp, 9600\/tcp, 9650\/tcp                                                           malcolm-opensearch-1\nb84ee0a208a8   malcolmnetsec\/freq:6.1.0                \"\/usr\/local\/bin\/dock\u2026\"   9 minutes ago   Up 9 minutes (healthy)           10004\/tcp                                                                                        malcolm-freq-1\n<\/code><\/pre>\n\n\n\n<p>Quite a number of ports have been exposed;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ss -atlnp | grep -i docker<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>LISTEN 0      65535        0.0.0.0:488       0.0.0.0:*    users:((\"docker-proxy\",pid=8971,fd=4))   \nLISTEN 0      65535      127.0.0.1:9200      0.0.0.0:*    users:((\"docker-proxy\",pid=8833,fd=4))   \nLISTEN 0      65535      127.0.0.1:5044      0.0.0.0:*    users:((\"docker-proxy\",pid=8307,fd=4))   \nLISTEN 0      65535      127.0.0.1:5045      0.0.0.0:*    users:((\"docker-proxy\",pid=6610,fd=4))   \nLISTEN 0      65535      127.0.0.1:8022      0.0.0.0:*    users:((\"docker-proxy\",pid=6969,fd=4))   \nLISTEN 0      65535        0.0.0.0:443       0.0.0.0:*    users:((\"docker-proxy\",pid=9030,fd=4))   \nLISTEN 0      65535      127.0.0.1:5601      0.0.0.0:*    users:((\"docker-proxy\",pid=8922,fd=4))\n<\/code><\/pre>\n\n\n\n<p>You can therefore access various Malcolm services via browser <strong>(You can replace the localhost with your system IP address)<\/strong>;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arkime: https:\/\/localhost\/<\/li>\n\n\n\n<li>OpenSearch Dashboards: https:\/\/localhost\/dashboards\/<\/li>\n\n\n\n<li>PCAP upload (web): https:\/\/localhost\/upload\/<\/li>\n\n\n\n<li>PCAP upload (sftp): sftp:\/\/username@127.0.0.1:8022\/files\/<\/li>\n\n\n\n<li>Host and subnet name mapping editor: https:\/\/localhost\/name-map-ui\/<\/li>\n\n\n\n<li>Account management: https:\/\/localhost:488\/<\/li>\n<\/ul>\n\n\n\n<p>Malcolm Arkime Web Interface<\/p>\n\n\n\n<div><a href=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-arkime-webinterface.png\" class=\"td-modal-image\"><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1905\" height=\"941\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-arkime-webinterface.png\" alt=\"install Malcolm network traffic analysis tool on Ubuntu\" class=\"wp-image-13629\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-arkime-webinterface.png?v=1659557190 1905w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-arkime-webinterface-768x379.png?v=1659557190 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-arkime-webinterface-1536x759.png?v=1659557190 1536w\" sizes=\"(max-width: 1905px) 100vw, 1905px\" \/><\/figure><\/a><\/div>\n\n\n\n<p>OpenSearch dashboard<\/p>\n\n\n\n<div><a href=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-opensearch-dashboard.png\" class=\"td-modal-image\"><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1896\" height=\"842\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-opensearch-dashboard.png\" alt=\"install Malcolm network traffic analysis tool on Ubuntu\" class=\"wp-image-13630\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-opensearch-dashboard.png?v=1659557225 1896w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-opensearch-dashboard-768x341.png?v=1659557225 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-opensearch-dashboard-1536x682.png?v=1659557225 1536w\" sizes=\"(max-width: 1896px) 100vw, 1896px\" \/><\/figure><\/a><\/div>\n\n\n\n<p>Malcolm Capture File and Log Archive Upload page;<\/p>\n\n\n\n<div><a href=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-pcap-web-upload-ui.png\" class=\"td-modal-image\"><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1439\" height=\"641\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-pcap-web-upload-ui.png\" alt=\"install Malcolm network traffic analysis tool on Ubuntu\" class=\"wp-image-13631\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-pcap-web-upload-ui.png?v=1659557340 1439w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-pcap-web-upload-ui-768x342.png?v=1659557340 768w\" sizes=\"(max-width: 1439px) 100vw, 1439px\" \/><\/figure><\/a><\/div>\n\n\n\n<p>Host and Network Segment Name Mapping;<\/p>\n\n\n\n<div><a href=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-host-network-segment-mapping.png\" class=\"td-modal-image\"><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1332\" height=\"491\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-host-network-segment-mapping.png\" alt=\"install Malcolm network traffic analysis tool on Ubuntu\" class=\"wp-image-13633\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-host-network-segment-mapping.png?v=1659557363 1332w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-host-network-segment-mapping-768x283.png?v=1659557363 768w\" sizes=\"(max-width: 1332px) 100vw, 1332px\" \/><\/figure><\/a><\/div>\n\n\n\n<p>Account Management;<\/p>\n\n\n\n<div><a href=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-account-mgt-service_.png\" class=\"td-modal-image\"><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1386\" height=\"666\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-account-mgt-service_.png\" alt=\"install Malcolm network traffic analysis tool on Ubuntu\" class=\"wp-image-13634\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-account-mgt-service_.png?v=1659557376 1386w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/08\/malcolm-account-mgt-service_-768x369.png?v=1659557376 768w\" sizes=\"(max-width: 1386px) 100vw, 1386px\" \/><\/figure><\/a><\/div>\n\n\n\n<p>You can now start to analyse your network traffic using Malcolm.<\/p>\n\n\n\n<p>For now, that is just what it takes to install Malcolm network traffic analysis tool on Ubuntu 22.04.<\/p>\n\n\n\n<p>See how to analyze pcap file using Malcolm;<\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/analyze-pcap-files-using-malcolm-network-traffic-analysis-tool\/\" target=\"_blank\" rel=\"noreferrer noopener\">Analyze PCAP Files using Malcolm Network Traffic Analysis tool<\/a><\/p>\n\n\n\n<p>Further reading.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/idaholab\/malcolm#QuickStart\" target=\"_blank\" rel=\"noopener\">Malcolm QuickStart<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Other Tutorials<\/h3>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/install-arkime-moloch-full-packet-capture-tool-on-debian\/\" target=\"_blank\" rel=\"noreferrer noopener\">Install Arkime (Moloch) Full Packet Capture tool on Debian 11<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/analyze-network-traffic-using-zeek\/\" target=\"_blank\" rel=\"noreferrer noopener\">Analyze Network Traffic using Zeek<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/analyze-network-traffic-using-brim-security\/\" target=\"_blank\" rel=\"noreferrer noopener\">Analyze Network Traffic Using Brim Security<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Follow through this tutorial to learn how to install Malcolm network traffic analysis tool on Ubuntu 22.04. Malcolm is a network traffic analysis tool suite<\/p>\n","protected":false},"author":3,"featured_media":13636,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[34,121],"tags":[3184,5617,5620,5621,5618,5619],"class_list":["post-13616","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","category-howtos","tag-arkime","tag-install-malcolm-network-traffic-analysis-tool-on-ubuntu","tag-malcolm-install","tag-malcolm-pcap-analysis","tag-network-traffic-analysis-with-malcolm","tag-pcap-analysis-with-malcolm","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/13616"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=13616"}],"version-history":[{"count":18,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/13616\/revisions"}],"predecessor-version":[{"id":20608,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/13616\/revisions\/20608"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media\/13636"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=13616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=13616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=13616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}