sendip是linux下一个比较好用的发包软件,简单记录一下它的用法

下载源码,编译安装后,可通过  man sendip,查看具体选项介绍,其中说明sendip支持的协议包括:ipv4 ipv6 icmp tcp udp bgp rip ntp。下面发送几个简单的报文:

1、发送ICMPv4报文,-p icmp 将默认发送ICMP echo request报文,-v选项可在终端打印发送的报文

sendip -v -p ipv4 -is 192.168.2.129 -id 192.168.2.1 -p icmp -d 0xcafecafecafe 192.168.2.1

2、发送ICMPv6报文

sendip -p ipv6 -6s 2::3 -p icmp -d 0xcafecafecafe 2::1

3、发送IPv4 UDP报文,发送TCP只需把udp替换为tcp即可

sendip -p ipv4 -is 192.168.2.129 -p udp -d 0xcafe 192.168.2.1

4、发送IPv6 UDP报文,同样发送TCP仅需把udp替换为tcp

sendip -p ipv6 -6s 2::3 -p udp -d 0xcafe 2::1

从以上命令可见sendip的命令结构是采用的模块组合方式来构造报文,简单易懂,每种协议下都提供选项可对一些字段进行设置。另外报文的源IP不必是网卡上存在的IP,可以根据个人需求任意构造。而且本文中提到的第一个报文,你甚至可以这样构造 sendip -p ipv4 -is 192.168.2.129 -id 192.168.2.1 -p icmp -d 0xcafecafecafe
192.168.3.1  ,如此一来第一步在主机上路由时将按照192.168.3.1进行路由,而实际上报文的目的地址是192.168.2.1。

注:sendip的源码存在一些bug,例如编译不通过,或者编译安装后发送IPv6下的udp/tcp报文存在checksum错误,鄙人进行了一些修正,修正版可到此处下载    http://download.csdn.net/detail/alading2009/7811431

sendip简单使用的更多相关文章

  1. Sendip 命令行发包工具,支持IP、TCP、UDP等

    Sendip是一个linux平台的命令行发数据包工具,目前(2018年2月)支持的协议有ipv4.ipv6.icmp.tcp.udp.bgp.rip.ntp,作者表示其他协议将会后面支持,当他有空写的 ...

  2. nmap简单使用方法

    1.作用扫描整个网络的主机服务状态和存活优点,快速,准确,效率高2.nmap 选项 Usage: nmap [Scan Type(s)] [Options] {target specification ...

  3. UDP通信简单 小结

    Android手机版和电脑版 效果图: 通过WiFi局域网 电脑和手机连接通信. 电脑版本和手机版本使用了相同的消息发送头协议, 可以相互接收消息. 若有做的不好的地方还希望大家指导一下. 1. 手机 ...

  4. 【造轮子】打造一个简单的万能Excel读写工具

    大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...

  5. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  6. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  7. 哪种缓存效果高?开源一个简单的缓存组件j2cache

    背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...

  8. 在Openfire上弄一个简单的推送系统

    推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...

  9. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

随机推荐

  1. android eclipse——error: device not found解决办法

    device not found解决办法 http://www.blogjava.net/anchor110/articles/335866.html 问题描述:在CMD命令行,输入adb shell ...

  2. [HDOJ2830]Matrix Swapping II(胡搞)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2830 给一个矩阵只有0和1,矩阵的列可以和其他列交换无数次,问交换后整个矩阵形成的最大的全是1的子矩阵 ...

  3. 计算机术语install和setup的区别

    作为安装程序的Setup文件是软件的开发者专门为其软件设计的.exe文件,是当前最为盛行的安装程序.在运行该Setup文件进行软件安装时,Setup除了进行复制.改名.解压和目录维护等基本安装工作外, ...

  4. json和jsonp的使用格式

    最近一直在看关于json和jsonp的区别和各自的用法.优缺点!  下面是我看到过解释最清楚的一片文章 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求 ...

  5. JSON 之 SuperObject(6): 方法

    SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是: procedure Method(const This, Params: IS ...

  6. SQL注入与Java

    前面这篇文章介绍了SQL注入,并且主要就PHP的内容做了实验: http://www.cnblogs.com/charlesblc/p/5987951.html 还有这篇文章对处理方案做了介绍(Pre ...

  7. cut命令如何截取以空格隔开的字段

    你的文件分隔符恐怕不止一个空格(一定的who生成的): 用awk: awk '{print $2}' file 一定要用cut的话: cat file|tr -s ' '|cut -d' ' -f2 ...

  8. 转:Emmet:快速编写HTML,CSS代码的有力工具

    http://www.cnblogs.com/xiazdong/p/3562179.html  试着用用

  9. java基础:数据类型

    一:基本数据类型 (1):整数类型   byte,short,int,long (2):浮点类型   float , double (3):布尔类型 boolean 注意: long 类型的变量后面要 ...

  10. 【英语】Bingo口语笔记(79) - fish系列