Giter Site home page Giter Site logo

matscan's Introduction

matscan

silly minecraft server scanner

matscan is heavily inspired by masscan, and like masscan contains its own tcp stack for maximum speed.

Features

  • Adaptive scanning (scans more than just the default port)
  • Works well even on relatively low scan rates and with lots of packet drops (running in production at ~70kpps and ~20% loss)
  • Can be run in a distributed fashion
  • Customizable rescanning (rescan servers with players online more often, etc)
  • Customizable target host, target port, protocol version
  • Send to a Discord webhook when a player joins/leaves a server
  • Detection of duplicate servers that have the same server on every port
  • Protocol implementation fingerprinting (can identify vanilla, paper, fabric, forge, bungeecord, velocity, node-minecraft-protocol)
  • Written in Rust ๐Ÿš€๐Ÿš€๐Ÿš€

Note

I highly encourage you to make your own server scanner instead of relying on someone else's code, I promise you'll have a lot more fun that way. Also if you do intend on using any of the code here, please read the license.

Usage

It is assumed that you know the basics of server scanning. Otherwise, I recommend reading the masscan readme and documentation. Also be aware that matscan only supports Linux, but you probably shouldn't be running it at home anyways.

Rename config.toml.example to config.toml and fill in the fields.

You'll also have to make a MongoDB database called mcscanner with two collections called servers and bad_servers. You should add a unique index for addr+port and a normal index for timestamp in the servers collection.

# Firewall port 61000 so your OS doesn't close the connections
# Note: You probably want to use something like iptables-persistent to save this across reboots
iptables -A INPUT -p tcp --dport 61000 -j DROP

# Run in release mode
cargo b -r && sudo ./target/release/matscan

You can also use the binary without the rest of the code as long as you put the config.toml and exclude.conf in the same directory as it.

matscan's People

Contributors

mat-1 avatar paddyk45 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.