Coder Social home page Coder Social logo

dhcptest-python's Introduction

Script will load test a DHCP server by continuosly requesting address leases in a loop using randomly generated mac addresses. This will run serially as written, if you want to have multiple scripts running you will
need to run it in several processes. Be aware that if you run it in multiple processes you may run into a number of lease failures on your DHCP client
do to multiple discover packets hitting before a request hits thus several requests for the same address may occur. This is the normal behavior as in a real
setup a client would then retry several times in the event this occurs. (one thing you *MAY* need to do is set promiscuous for the pcap object -> the open_live call)

This is by no means a comprehensive DHCP test, just a little one off script to vefiy that a server is able to handle load numbers.

-Couple of pretty simple but sometimes forgotten notes:
  *Make sure your DHCP server is reachable via it's IP (the client curring the script can see the subnet it's on) 
  *Make sure your DHCP server isn't attempting to lease its own ip (in other words don't assign an ip for testing within the lease range)

Usage: dhcp_test.py [DHCP server IP] [DHCP server port - Optional defaults to 67] [Number of Loops - Optional defaults to 1]

dhcptest-python's People

Contributors

kgray87 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

Watchers

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

dhcptest-python's Issues

Updating the dhcp_test.py to make it work again.

Describe the bug or enhancement
The current code exhibits multiple issues that could be causing its malfunction. These include improper use of global variables, reliance on obsolete libraries, the presence of hard-coded values, and limitations in packet handling. Notably, the script employs the "pcap" library to capture packets, which might be constrained by platform dependencies and restrictions. Additionally, the code is written in Python 2, potentially leading to compatibility problems with modern environments. Furthermore, the script lacks comprehensive error handling mechanisms, which could hinder its robustness.

To address these concerns, I intend to allocate some time to rectify these issues. My plan involves revising the code to adhere to recent stable versions of Python and ensuring compatibility. Furthermore, I will focus on enhancing error handling, updating libraries, and optimizing packet handling for better performance.

Assistance Requested
I am seeking assistance in identifying valuable resources that can aid me in resolving these issues effectively. If anyone can recommend pertinent materials or guides, it would greatly contribute to the improvement process. Additionally, insights into specific criteria or test cases under which the refined script can be rigorously tested would be highly beneficial. This will help ensure that the modifications are successful and that the script functions reliably under various scenarios.

About me
I am currently working in Oracle and residing in India, so I would be glad if this is assigned to me!! [any sort of assistance is greatly appreciated]

no working

Traceback (most recent call last):
File "dhcp.2.py", line 175, in
ip_issued = issueRequest(dhcp_ip, dhcp_port, 4, disc_packet)
File "dhcp.2.py", line 81, in issueRequest
pcap_obj = pcap.pcapObject()
AttributeError: 'module' object has no attribute 'pcapObject'

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.