Sendip 命令行发包工具,支持IPTCPUDP等

Posted xcw0754

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sendip 命令行发包工具,支持IPTCPUDP等相关的知识,希望对你有一定的参考价值。

Sendip是一个linux平台的命令行发数据包工具,目前(2018年2月)支持的协议有ipv4、ipv6、icmp、tcp、udp、bgp、rip、ntp,作者表示其他协议将会后面支持,当他有空写的时候。Sendip很强大,它支持自定义头部和数据(也就是IP层以上的整个包),没有过多的限制,所以连源IP都可以随意写,而且里面也提供了一些默认的选项,可以择需而发,非常方便。又因为它是命令行的,还支持从文件中直接读取整个packet发送,所以适合用脚本批量测试。它只是个发包工具,对于发出去的包,收到了什么样的回复,Sendip是不知道的,所以要得到回复的包就只能用抓包工具了。它的源码也很简单,没有过多平台相关的代码,如果不理解也可以看源码。

其实这个工具已经满足了我的要求,之前下载的PackETH是GUI版的,连数据链路层(link layer)都支持,也要求必须提供这一层的相关信息才能发包,这一层一般不太关心,它又不提供自动封装,总的来说不太适合用。

Sendip简单使用

常见协议可参考常见协议TCP、UDP、IP图

通用选项:

-d    要携带的数据。
-f    从文件中读取要携带的数据。
-p    加载协议模块,只有加载了才能使用。
-v    打印整个发出的包。

ipv4模块:

-iv x      版本               Default: 4
-ih x      首部长度       Default: Correct
-iy x      区分服务       Default: 0
-il x      总长度           Default: Correct
----------------------------------------------
-ii x      标识               Default: Random
-ifr x     标志               Default: 0 (options are 0,1,r)
-if x      片偏移           Default: 0
----------------------------------------------
-it x      生存时间       Default: 255
-ip x      协议             Default: 0, or set by underlying protocol
-ic x      首部检验和   Default: Correct
----------------------------------------------
-is x      源地址          Default: 127.0.0.1
----------------------------------------------
-id x      目的地址      Default: Correct
----------------------------------------------
下面全是可选字段:

-ifd x IP don't fragment flag (see README)

       Default: 0 (options are 0,1,r)

-ifm x IP more fragments flag (see README)

       Default: 0 (options are 0,1,r)

-ionum x
       IP option as string of hex bytes (length is always correct)

       Default: (no options)

-ioeol IP option: end of list

-ionop IP option: no-op

-iorr x
       IP option: record route. Format: pointer:addr1:addr2:...

-iots x
       IP option: timestamp. Format: pointer:overflow:flag:(ip1:)ts1:(ip2:)ts2:...

-iolsr x
       IP option: loose source route. Format: pointer:addr1:addr2:...

-iosid x
       IP option: stream identifier

-iossr x
       IP option: strict source route. Format: pointer:addr1:addr2:...

以上是关于Sendip 命令行发包工具,支持IPTCPUDP等的主要内容,如果未能解决你的问题,请参考以下文章

IPTCPUDP 个人理解

IPTCPUDP 个人理解

使用Python计算IPTCPUDP校验和

解锁Linenoise——C命令行处理工具

Speedtest网络测速工具(支持命令行测试)

linux之http命令行工具curl