All Projects → flightaware → scotty

flightaware / scotty

Licence: other
A Tcl extension for building network management (SNMP, ICMP, UDP, DNS) applications

Programming Languages

c
50402 projects - #5 most used programming language
tcl
693 projects
M4
1887 projects
Roff
2310 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to scotty

network
exomia/network is a wrapper library around System.Socket for easy and fast TCP/UDP client & server communication.
Stars: ✭ 18 (-37.93%)
Mutual labels:  udp-server, udp-client
CSharpServer
Ultra fast and low latency asynchronous socket server & client C# library with support TCP, SSL, UDP protocols and 10K connections problem solution
Stars: ✭ 101 (+248.28%)
Mutual labels:  udp-server, udp-client
tdme2
TDME2 - ThreeDeeMiniEngine2 is a lightweight, multi-platform 3D engine including tools suited for 3D game/application development using C++
Stars: ✭ 86 (+196.55%)
Mutual labels:  udp-server, udp-client
sthread
sthread(simple-thread):支持高并发的协程网络库
Stars: ✭ 27 (-6.9%)
Mutual labels:  udp-server, udp-client
UDPSender
UDPSender 一个基于NIO的UDP发送-接收器
Stars: ✭ 34 (+17.24%)
Mutual labels:  udp-server
tclreadline
GNU readline for interactive Tcl shells
Stars: ✭ 36 (+24.14%)
Mutual labels:  tcl-extension
GPONMonitor
GPON Monitoring tool for Dasan Networks GPON OLTs
Stars: ✭ 26 (-10.34%)
Mutual labels:  snmp
DoNotSend
Sending messages by hacking the DNS protocol. See website for demo server usage instructions
Stars: ✭ 93 (+220.69%)
Mutual labels:  dns-client
laav
Asynchronous Audio / Video Library for H264 / MJPEG / OPUS / AAC / MP2 encoding, transcoding, recording and streaming from live sources
Stars: ✭ 50 (+72.41%)
Mutual labels:  udp-server
gondul
Network management/monitoring system specialized for temporary events
Stars: ✭ 40 (+37.93%)
Mutual labels:  snmp
Cocoa-Printer-Server
Make your USB Printers to IP Printers.
Stars: ✭ 22 (-24.14%)
Mutual labels:  snmp
snmp notifier
A webhook to relay Prometheus alerts as SNMP traps, because sometimes, you have to deal with legacy
Stars: ✭ 33 (+13.79%)
Mutual labels:  snmp
snmpclitools
Pure-Python SNMP management tools
Stars: ✭ 36 (+24.14%)
Mutual labels:  snmp
tcl.gd
Feature-complete Tcl interface to GD graphics drawing library
Stars: ✭ 15 (-48.28%)
Mutual labels:  tcl-extension
dnms
Another network monitoring app built with nodejs.
Stars: ✭ 18 (-37.93%)
Mutual labels:  snmp
node-dns
🌐 DNS Server and Client Implementation in Pure JavaScript with no dependencies.
Stars: ✭ 390 (+1244.83%)
Mutual labels:  dns-client
twjitm-core
采用Netty信息加载实现长连接实时通讯系统,客户端可以值任何场景,支持实时http通讯、webSocket通讯、tcp协议通讯、和udp协议通讯、广播协议等 通过http协议,rpc协议。 采用自定义网络数据包结构, 实现自定义网络栈。
Stars: ✭ 98 (+237.93%)
Mutual labels:  udp-server
snmp-elixir
An SNMP client library for Elixir
Stars: ✭ 27 (-6.9%)
Mutual labels:  snmp
zabbix-templates
Zabbix templates
Stars: ✭ 104 (+258.62%)
Mutual labels:  snmp
tdm
Telemetry Data Mapper to ease data discovery, correlation, and usage with YANG, MIBs, etc.
Stars: ✭ 33 (+13.79%)
Mutual labels:  snmp

Build Status

Welcome to the scotty Tcl extension for network management

by Juergen Schoenwaelder and many contributors. Maintained by FlightAware LLC

Introduction

You are looking at the source tree of scotty, a software package which allows to build IPv4 network management applications using Tcl and Tk. It consists of two Tcl extensions: Tnm and Tkined, two related applications: scotty a Tcl interpreter with Tnm preloaded and tkined a interactive gui network diagramm editor and monitor.

scotty license terms can be found in tnm/license.terms which is essentially identical to the Tcl/Tk license.

Tnm extension

The Tnm Tcl extension provides the following features:

  • Access to Internet protocols: ICMP, DNS, UDP, SUN RPC, SNMP, NTP.
  • Facilitates writing special purpose SNMP agents in Tcl and parse and access SNMP MIB definitions.
  • Access the local network databases: hosts, networks, protocols, services, sunrpcs.
  • Schedule jobs that are to be done regularly.
  • Realize event driven programming on network maps.
  • IP address and networks calculation.
  • Write messages to the system logger.

tkined and the Tkined extension

tkined is a network editor which allows to draw maps showing your network configuration. The most important feature of tkined is its programming interface which allows network management applications to extend the capabilities of tkined. scotty packages several applications which allow for network autodetection, node monitoring, geolocation and others.

About and Status

This source distribution is targetted at the current available (February 2017) toolchains and Tcl versions. The default is to build shared libraries with Tcl stubs support.

tkined is working fine on all tested platform, except for Debian jessie 32 bit, where it hangs on the first invocation of ined.

Scotty currently is only operating correctly on 32 bit platforms. There are several known bugs which surface when running on 64 bit.

Note that the organisation of the source tree has been modified heavily, to account for current policies of extension building. Each extension is given its own subdirectory, where they can be built independently.

Tnm tests have been updated and problems singled out and documented in the tnm/TODO file. Running make test should succeed without failures, except DNS tests which depend on specific network setup and availability and might fail on your site.

The current versions are Tnm 3.1.3 and Tkined 1.6.0. Due to the large number of files that need to be updated to a new version, there are helper scripts tnm.patch and tki.patch in the root directory that perform the heavy lifting for you. If you change any file containing the version numbers check whether these files need updating.

Obtaining and Installing scotty

scotty is freely available in source form from several locations. The historical homepage does not exist anymore. FlightAware has done significant maintenance of the software. The FlightAware version is available from: https://github.com/flightaware/scotty

This particlar version, motivated by FlightAware, adapts the build system to recent versions of operating systems and Tcl/Tk versions and is available from: https://github.com/jorge-leon/scotty

Tested Operating Systems

  • Debian GNU/Linux 7.11 (wheezy), 8.7 (jessie) *
  • Ubuntu 16.10 (yakkety) *
  • Alpine Linux (Note: temporarily unavailable)
  • Slackware Linux 14.2
  • FreeBSD 10.3 * and 11
  • NetBSD 7.0.2
  • MacOSX 10.10.5 (Yosemite)
  • Oracle Solaris 11.3

Note: operating systems marked with an * have the best support and test coverage. See tnm/TODO and tkined/TODO for a list of known problems.

Tested Tcl/Tk Versions

  • 8.5.11 (Debian wheezy)
  • 8.5.17 (Debian jessie)
  • 8.6.2 (Debian jessie)
  • 8.6.4 (MacOSX)
  • 8.6.5 (Slackware)
  • 8.6.6 (FreeBSD, Ubuntu, Alpine, Solaris)

Compilation Requirements

  • Tcl/Tk development files.
  • OS specific (libc) development files.
  • C compiler:
    • GCC
    • Clang on FreeBSD
  • Make:
    • GNU Make
    • PMake on FreeBSD
  • GNU autoconf
  • On Alpine Linux (musl libc):
    • The libtirpc-dev package.
    • pkg-config (to find libtirpc)

Obtain, Compile, Install

Clone the repository or download the source as zip archive and unpack to any destination directory of your liking.

There is a convenience Makefile in the top level directory, which automates build, install and uninstall for the tested platforms. Just run make and it will help you. See the file PORTS for platform specific details.

The following are detailed build instructions.

Enter the tnm directory and run the almost common place:

./configure
make
sudo make install
sudo make sinstall

Then enter the tkined directory and run:

./configure
make
sudo make install

After this, you should be able to start scotty via scotty.3.0.x where 'x' is the respective sub sub version number and tkined as tkined.

OS X Install

The OS X configure commands most likely require --prefix=/usr/local and --exec-prefix=/usr/local options. OS X now prevents installation in /usr/lib and /usr/bin in the System Integrity Protection implementation. TEA trys to figure out the install paths from the TCL install. If you are using the OS X TCL, then these directories will not be writable.

Uninstall

You can uninstall the Tnm extension and scotty by running make uninstall in the tnm directory.

The Tkined extension and tkined are uninstalled by running make uninstall in the tkined directory.

Documentation

Man files are installed in the respective system locations after install. To see what is available see the respective doc subdirectory in tnm and tkined.

For a starter, look at Tnm(n) which gives an overview over the Tcl commands provided by the Tnm extension and the tkined(1) page which describes the Tkined network editor. A short description of the API which is used to write new applications for the Tkined editor is available in the ined(n) man page.

An overview about the Tnm extension has been presented at the 3rd Tcl/Tk workshop in 1995. A PostScript copy of this paper is available at http://www.ibr.cs.tu-bs.de/users/schoenw/papers/tcltk-95.ps.gz.

Some more general experience from doing this project over several years were presented at the 1st European Tcl/Tk User Meeting in 2000. A PostScript copy of this paper is also available at http://www.ibr.cs.tu-bs.de/users/schoenw/papers/tcltk-eu-2000.ps.gz

Mark Newnham has collected some information about scotty at his sourceforge project wiki: https://sourceforge.net/p/tkined-scotty/wiki/Home

The Tclers Wiki has some pages about scotty, here the link to the most informative: Tnm/Scotty/TkInEd.

The (almost) original README file can be found in the tnm sub directory. Original build/install was done inside the platform specific directories, you will find a INSTALL instructions file in tnm/unix.

The Tkined library and applications have their own change logs in tkined/changes and tkined/apps/changes.

The file PORTS holds notes about building scotty on different platforms, tnm/TODO and tkined/TODO list bugs and improvement ideas for the respective extension, including platform specific ones.

Credits

Jürgen has listed meticulously all contributors and benefactors at the end of the original tnm/README.md file.

Lionel Sambuc has provided all needed bits to compile scotty on MINIX3.

History

According to tnm/changes scotty was released on 1993-07-19 as version 0.5, this change log file reports until 2001-12-08.

In 2005 Jürgens seems to have imported the CVS repository to SVN at Jakobs University, with the last check in on 2010-09-07.

DavidMcNett at FlightAware imported scotty into GitHub, 'Initial import of sc-scotty from Karl' (Lehenbauer). Since then, there were small commits every one to two years on this repository.

Mark Newnham imported scotty to GitHub and then in 2015-03-14 to sourceforge. He has mainly worked on the "Front End" tkined.

Upgraded to the latest TEA version and improvements in UDP and DNS 2017-02-14 by Georg Lehner [email protected].

Ressources remaining from the founders time:

Mailing list archive at Braunschweig university.

Some pages on the Tclers Wiki, discussing the status at different points of time:

Emacs

Local Variables:

mode: markdown

End:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].