kefanchen / sendip Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
SendIP Author: Mike Ricketts <[email protected]> Web: http://www.earth.li/projectpurple/progs/sendip.html Part of Project Purple. (http://www.earth.li/projectpurple/) 1. Introduction SendIP is a tool to send completely arbitrary packets out over the network. In conjunction with PackPrint (see http://www.earth.li/projectpurple/progs/packprint.html), this makes an extremely powerful debugging tool for networks. 1.1 Home page All the latest news, documentation and versions of SendIP will be made available from http://www.earth.li/projectpurple/ or directly from the the author. 2. Protocols Here is a list of protocols that SendIP currently understands: * IPv4 (but see below section 7) * TCP * BGP * ICMP * UDP * RIP * NTP * IPv6 (except on solaris) * ICMPv6 Other protocols will be added in future versions, as and when I have time to add them. Of course, it is still possible to send packets using other protocols, but you have to construct the packet data and headers entirely by hand. 3. Usage instructions SendIP can take a huge number of commandline parameters. For this reason, future versions may have some sort of user interface... Please read the man page or sendip -h for details. They are not documented here because they change often between versions and I can't be bothered to keep this up to date. 4. Installation make ; make install should work. You MUST use GNU make. On Solaris you need to use gcc-3.x or above, and GNU binutils. On other platforms, you probably need gcc-2.x or above. If you have install problems on Solaris, try: make install INSTALL=/usr/ucb/install If you can't persuade it to compile or install, mail me with details of what goes wrong, and what system you are trying to install it on. By this I mean at least: - output of make -k veryclean all install - OS, including version - version of make, gcc, etc - version of sendip - anything else you think might be relevant You can change where it installs by changing BINDIR and/or PREFIX at the top of the Makefile. A .spec file is included to build RPMS, and source and binary RPMS are also available from the web page. Debian packages are also available, and sendip is included in the FreeBSD ports collection. 5. Problems, Bugs, and Comments If you have any comments, suggestions, or bug reports, please email me. Please, when sending bug reports include all the relevant information so I have a hope of reproducing or fixing the bug. I need at least: - output of make -k veryclean all install (if you installed from source) - OS, including version and platform - glibc version if you are on linux - sendip version - exact command line that fails - exact error messages, if any - exactly what you expected to happen that didn't, or what didn't happen that you expected - anything else that might be relevant Make sure you have read section 7 of this README first. The email address I currently use is [email protected] I am interested in any feedback in order to improve SendIP. 6. License SendIP is distributed under the GNU Public License a copy of which is included in this archive as LICENSE. 7. Note on IPv4 options Many operating systems rewrite some or all of the IP header when sending packets. Exactly which headers get rewritten depends on the OS. There is no portable way to bypass this that I am aware of. so some IP options do not work on some operating systems. Listed below are the ones I know about. This list is not by any means complete and what is here may not be accurate, and I would welcome more information. Linux, *BSD: - IP source address is rewritten if it is zero. - IP checksum is always rewritten to the correct value. - IP packet ID is rewritten (to a randomish value) if it is zero. - Total packet length is always rewritten to the number of bytes sent. - All other headers work as expected. Solaris: - IP source address is rewritten if it is zero. - IP header length works provided that the length given is not greater than the number of bytes in the packet. If it is, sendip will segfault. - IP don't fragment flag always set, other IP flags always cleared. - IP checksum is always rewritten to the correct value. - IP packet ID is rewritten (to a randomish value) if it is zero. - Total packet length is always rewritten to the number of bytes sent. - All other headers work as expected.
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.