Git Product home page Git Product logo

mtu-checker's Introduction

MTU-Сhecker

This project is a tool which allows to listen and send TCP and UDP packets of different sizes for checking MTU and other network parameters

Description

Usually system administrators use ping for checking MTU values while tracing packets from one host to another. It's useful but doesn't cover all network issues related to the MTU. For ex. MTU issue in flannel network plugin for docker (see flannel-io/flannel#1011). It just takes the interface MTU, decrease it to 50 and use. In our case we use IPSec between remote locations. Interface MTU was 1500 and tunnel MTU only 1372 which smaller than 1450 which flannel use in this case. Ping between hosts shows us the real MTU, but flannel just drops all packets with MTU exceeds 1320. We found it only due to this tool which can start as a server at one side and as client which sending packts of different sizes at another.

How to use

Usage: tmc [OPTIONS]
Possible options:
-s - server mode
-c - client mode
-u - use UDP instead of TCP. Default: use TCP
-p - port (both modes). Default: 2233
-h host - specify host for connection (client mode). Default: 127.0.0.1

Send one packet of specified size
-m size (bytes) - send one packet of specified size (client mode)

Send set of packets from size x to size y with step z
-x size (bytes) - size of 1st packet for random generator (client mode)
-y size (bytes) - size of last packet for random generator
-z step (bytes) - increment step for random generator

Where it works

Windows x64 (tested on Windows 10) Linux x64 (tested on Ubuntu Server 22.04)

How to compile

Tool written in Delphi 11 Alexandria using Indy

mtu-checker's People

Contributors

alexzix avatar

Watchers

 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.