A small, command line based binary for aggregating useful statistics about large environments prior to deploying Morpheus.
- Port Scanning
- OS Statistics
morpheus-fling
reads ips and associated ports and performs a scan of these ports to inspect openness.
morpheus-fling
aggregates statistics about the OS it is installed on utilizing Linux kernel syscalls including memory, CPU, and available disk.
Download the binary directly to your server.
wget https://github.com/gomorpheus/morpheus-fling/releases/download/v2.0.1/morpheus-fling
Give posix permissions to be executed. Binary expects a file to exist called network.txt
, however user can specify a separate infile. Similarly, binary will by default write output to a file called output.txt
but user can flag a separate outfile to be created and appended to.
Run:
slimshady@morpheus1:~# ./morpheus-fling
Or run:
slimshady@morpheus1:~# ./morpheus-fling --infile=/path/to/foo.txt --outfile=/path/to/bar.txt
By default morpheus-fling
only allows 1024
semaphores to be used based on standard ulimit expectations in environments. This can also be adjusted by passing a ulimit
flag. To use an accurate representation from the system morpheus-fling
is deployed to run ulimit -n
on your system and qualify your binary run with this value flagged.
Example:
slimshady@morpheus1:~# ulimit -n
204800
slimshady@morpheus1:~# ./morpheus-fling --ulimit=204800
As described, morpheus-fling
defaults to looking for an input file called network.txt
. Format for the entries in this file should follow ip:port
notation as below.
10.30.21.100:10092
10.30.21.100:3306
10.30.21.193:22
10.30.21.100:15672
10.30.21.100:5672
morpheus-fling
will generate a report during the run. Below is an example of the contents. The deafult is a file in the same directory as the binary called output.txt
but this can be adjusted by making use of a flag during the run like --outfile=/home/slimshady/foobar.txt
PORT SCANS:
10.30.21.100:3306 open
10.30.21.100:15672 open
10.30.21.100:5672 closed
10.30.21.100:10092 closed
10.30.21.193:22 closed
OS STATS:
{
"sysinfo": {
"version": "0.9.2",
"timestamp": "2019-07-09T16:12:52.316092459-06:00"
},
"node": {
"hostname": "labs-den-demo-morpheus",
"machineid": "2f67b055ae2d1078d70401de58a63a28",
"timezone": "America/Denver"
},
"os": {
"name": "Ubuntu 14.04.5 LTS",
"vendor": "ubuntu",
"version": "14.04",
"release": "14.04.5",
"architecture": "amd64"
},
"kernel": {
"release": "4.2.0-42-generic",
"version": "#49~14.04.1-Ubuntu SMP Wed Jun 29 20:22:11 UTC 2016",
"architecture": "x86_64"
},
"product": {
"name": "MBI-6219G-T-Pack",
"vendor": "Supermicro",
"version": "0123456789",
"serial": "S215034X6B37474"
},
"board": {
"name": "B2SS2-F",
"vendor": "Supermicro",
"version": "1.01",
"serial": "ZD16BS000265",
"assettag": "To be filled by O.E.M."
},
"chassis": {
"type": 1,
"vendor": "Supermicro",
"version": "0123456789",
"serial": "0123456789",
"assettag": "To be filled by O.E.M."
},
"bios": {
"vendor": "American Megatrends Inc.",
"version": "1.0c",
"date": "04/29/2016"
},
"cpu": {
"vendor": "GenuineIntel",
"model": "Intel(R) Xeon(R) CPU E3-1240 v5 @ 3.50GHz",
"speed": 3500,
"cache": 8192,
"cpus": 1,
"cores": 4,
"threads": 8
},
"memory": {
"type": "DDR4",
"speed": 2400,
"size": 65536
},
"storage": [
{
"name": "sda",
"driver": "sd",
"vendor": "ATA",
"model": "SanDisk SD8SB8U2",
"serial": "163047802208",
"size": 256
},
{
"name": "sdb",
"driver": "sd",
"vendor": "ATA",
"model": "SanDisk SD8SB8U1",
"serial": "164103801795",
"size": 1024
}
],
"network": [
{
"name": "eth0",
"driver": "igb",
"macaddress": "0c:c4:7a:98:ba:8a",
"port": "fibre",
"speed": 1000
},
{
"name": "eth1",
"driver": "igb",
"macaddress": "0c:c4:7a:98:ba:8b",
"port": "fibre",
"speed": 1000
}
]
}