Code Monkey home page Code Monkey logo

katnip's Introduction

Katnip

What is Katnip?

Katnip is a repository of implementations and extensions for Kitty.

While Kitty defines the base classes and syntax, it contains no specific implementation for any of them. So, for example, in order to send a payload over TCP, you need to create some class that extends ServerTarget and is able to send data over TCP, and so on.

Katnip contains such classes. Currently, Katnip contains various implementations of:

  • Controllers for servers and clients
  • Monitors
  • Targets
  • Legos
  • Templates

Want to know more?

Read the documentations at Read The Docs.

How to install

git clone https://github.com/cisco-sas/katnip.git katnip
cd katnip
pip install -e .

Contribution FAQ

Found a bug?
Open an issue.
Have a fix?
Great! please submit a pull request.
Want to share you implementation?
Thank You! Please submit a pull request.

Documentation Status

katnip's People

Contributors

0xd3d0 avatar binyaminsharet avatar dark-lbp avatar dovf avatar gh0st3rs avatar s1341 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

katnip's Issues

Logger always None in targets/ssl.py

Namely here:

    def __init__(self, name, host, port, timeout=None, logger=None):
        '''
        :param name: name of the target
        :param host: host ip (to send data to) currently unused
        :param port: port to send to
        :param timeout: socket timeout (default: None)
        :param logger: logger for the object (default: None)
        '''
        super(SslTarget, self).__init__(name, host, port, timeout, logger=None)

Crypto import error on windows.

At windows environment, when i import any model from katnip.model.low_level i will got this error.

Traceback (most recent call last):
  File "C:\tools\test\runner.py", line 9, in <module>
    from katnip.model.low_level.fs_iterators import FsNames
  File "build\bdist.win32\egg\katnip\model\__init__.py", line 2, in <module>
  File "build\bdist.win32\egg\katnip\model\low_level\__init__.py", line 2, in <module>
  File "build\bdist.win32\egg\katnip\model\low_level\encoder.py", line 28, in <module>
ImportError: No module named Crypto.Cipher

Because Windows Crypto lib name is 'crypto', it's different than other system.
To fix this problem i have to add this code before import Crypto.Cipher.

import sys
import crypto
sys.modules['Crypto'] = crypto

Should i edit the katnip.model.low_level.encoder.py file to

import sys
if sys.platform.startswith("win32"):
    import crypto
    sys.modules['Crypto'] = crypto
from Crypto.Cipher import AES, DES, DES3
from bitstring import Bits
from kitty.model.low_level.encoder import StrEncoder
from kitty.core import KittyException

There might be a better way to fix this problem.

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.