tehuelche / dsimulator Goto Github PK
View Code? Open in Web Editor NEWThis project forked from bschirrmeister/dsimulator
Automatically exported from code.google.com/p/dsimulator
This project forked from bschirrmeister/dsimulator
Automatically exported from code.google.com/p/dsimulator
[1 - INSTALL] [1.1 ** Platform Windows] Not tested yet. [1.2 ** Platform Linux] Tested on : Ubuntu , RedHat, CentOS For a succesfull instalation you will need : 1 - Python 2.5 / 2.6{.2} 2 - scapy version ( 2.0.0.5 beta or latest stable version) 3 - google Protocol buffers [2 - Features] * Currently, you will be able to simulate : 1. Cablemodems 2. CPEs ( PCs behind a CableModem and buggy PCs ) 3. CMTS * Layers already implemeted 1. Ethernet 2. ARP Protocol 3. ICMP Protocol ( WHO_HAS / IS_AT msgs ) 4. DHCP Protocol 5. TFTP Support * Features 1. craft your own fuzzy packets 2. modular : Can build your own protocol and put it to any device. really easy 3. timers implemented for DHCP_RENEWS 4. client code samples for easy testing [2.1 - About Topology and network stuff] If this is the first time you read about CMTS, then it is worth to read the next lines first. It will help you understand how different things works. DEVICE ( CM ) -- BROADCAST DHCP DISCOVER ----> CMTS ---- UNICAST ----> DHCP SERVER DEVICE ( CM ) <--OFFER------------------------ CMTS <--- OFFER ------- DHCP SERVER DEVICE ( CM ) -- DHCP REQUEST ---------------> CMTS ---- UNICAST ----> DHCP SERVER DEVICE ( CM ) <- ACK ------------------------- CMTS <--- ACK --------- DHCP SERVER So, as you see the CMTS ( CableModem Termination system ) works as a router while doing DHCP discovering. After this, for the rest of protocols it will work as a bridge. This is important, so you can have a very basic picture of what is the CMTS, and why it is in the middle. Any Cable modem needs a CMTS. Sorry, but there is no magic at all. [3 - Performance] This simulator trys to make the simulation as real as possible. So, there are a lots aspects the simulation can be modify for performance aspects. A lot of "layer communication" can be avoided, but I think this will help just to make this less educative. If needed i can work on a better "performance-oriented" simulator. [2 - Questions] Q - What is this A - This is a very first opensource network device simulator. It allows to simulate ( by terms of network traffic ) in a realistic way, how different network devices works. Q - Why ? A - Because it is fun. Because if you use to play/develop with network devices you will understand how complex is to deploy something when you need the device at your side. Moreover, if you need to recreate a huge amount of devices, you simply can not buy hundreds of thounsands of devices "just for test". So here we are. Now, you will be able to simulate as many devices as you'd like :) By the momment, you will be able to play with basic cablemodems and CMTS, but more functionality/devices/layers are comming. Q - Is this project close ? A - Absolutely no ! Actually, I had developed more layers / modules which will allow more realistic and complex simulations. Some layers are developed (under the radar) and more are comming (i.e TFTP, DNS , NTP, VirtualPCs, TR-069 devices, IPCameras , and so on.....) Q - When those layers\modules will be released ? A - The schedule is not set and may vary uppon demand. Q - How can i contribute ? A - Join to the mailing list. Submit your new device, features, fix or patch. Q - Do you need financial support A - By the momment, this project its been developed in my spare time. Feel free to send me your contribution. :) Q - I need to simulate the device XXXX Could you please create the virtual device for me. A - If I have time and the device is requested by many people i will do my best. If you want to pay for it, for sure i will have time :) matt.- Matias Torchinsky ( [email protected] )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.