三款常用IP发包工具介绍

winpcap 发包工具 源码较为简单,只有四个文件,详细的实现可以参看工程代码,结合百度,对初学者来说也很容易掌握。在图中指定的网卡上,用wireshark抓包,可以看到该网卡发送的所有的数据包。此下载地址中有多个工程,其中的sendpack即此文中的发包项目。命令行下输入sendpack.exe test.pcap。sendpack.exe:源码编译出来的可执行程序。test.pcap:需要发送的数据包抓包文件。 阅读详情
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第1 页共14 页
AntPower-技术文章
三款常用IP 发包工具介绍
小蚁雄心成员郎国军著
lgj@qingdao.cngb.com
URL
修订版本
版本时间修订人说明
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第2 页共14 页
1. 简介
在从事网络产品尤其是网络安全产品开发时,我们一直面临着一个问题,就是对产品的
TCP/IP 协议栈进行稳定性或安全性测试,确保开发产品在遇到各种不规则的错误的IP 包时
仍可正常稳定高效地工作,我们知道,在正常的网络环境中,很难产生错误的IP 包,也很
难产生我们想要的错误的IP 包,为此,要完成对产品的测试,我们必须自己来制造各种各
样错误的IP 包,本篇的目的就是介绍如何利用各种发包工具来制造自己想要的错误的IP 包。
2. IP 发包工具介绍
目前,有很多常用的产生IP 包的工具,如sendip、nessus、ipsend、ippacket、sniffer 等,
下面我们介绍三种比较常用的工具sendip、nessus 和sniffer。
2.1. SENDIP 工具
SENDIP 是一个LINUX 下的命令行工具,可以通过命令行参数的方式发送各种格式的
IP 包,它有大量的命令行参数来规定各种协议的头格式,目前可支持NTP, BGP, RIP, RIPng,
TCP, UDP, ICMP 或raw IPv4 和IPv6 包格式,并且可以随意在包中添加数据。
SENDIP 可在各种UNIX 或LINUX 版本中运行,本人使用的是SLACKWARE 8.0 和
REDHAT 9.0 两个版本。
可在网站http://www.earth.li/projectpurple/progs/sendip.html 中下载最新的源代码或RPM
包,目前版本为2.5,源码包大小只有54K。
2.1.1. 安装过程
SENDIP 的安装过程非常简单,首先从前面介绍的网站中下载最新的源代码包,目前为
sendip-2.5.tar.gz。
在LINUX 系统中执行:
#tar –xzvf sendip-2.5.tar.gz
#cd sendip-2.5
#make
#make install
在系统的/usr/local/bin 目录下会产生一个SENDIP 命令文件,同时,在/usr/local/lib 目录
下建立一个sendip 目录,并在其下放置ipv4.so、ipv6.so、tcp.so 等与协议相关的模块文件。
通过在命令行下运行这个文件,我们可以产生各种各样我们需要的IP 包,还可以通过运行
脚本自动发送大量的IP 包。
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第3 页共14 页
2.1.2. 发包方法
SENDIP 可以发送NTP, BGP, RIP, RIPng, TCP, UDP, ICMP、IPv4 和IPv6 等各种格式的
数据包,SENDIP 本身是以模块的方式发送各种协议的数据包,用-p 参数指定协议类型,要
发送每种协议的数据包, 必须对该协议的数据包格式有一定的了解。通常发送
TCP/UDP/ICMP 数据包时,都必须以IP 包进行封装,然后才可以发出去。本节我们将以TCP
数据包为例进行讲述。
下面介绍一下SENDIP 的命令行格式,以下为直接执行SENDIP 时的输出:
Usage: sendip [-v] [-d data] [-h] [-f datafile] [-p module] [module options] hostname
-d data add this data as a string to the end of the packet
Data can be:
rN to generate N random(ish) data bytes;
0x or 0X followed by hex digits;
0 followed by octal digits;
any other stream of bytes(以指定字节的随机数据填充包中的数据段)
-f datafile read packet data from file(以指定数据文件中的内容填充包中的数据段)
-h print this message(输出帮助信息)
-p module load the specified module (see below)(指定协议类型)
-v be verbose(运行时输出详细运行信息,如不指定,运行时不输出信息)
(协议类型是以模块的方式指定的,用-p 参数指定)
Modules are loaded in the order the -p option appears. The headers from
each module are put immediately inside the headers from the previos model in
the final packet. For example, to embed bgp inside tcp inside ipv4, do
sendip -p ipv4 -p tcp -p bgp ....
Modules available at compile time:
ipv4 ipv6 icmp tcp udp bgp rip ntp(支持的协议类型)
通常执行格式如下:
#sendip –v –d r64 –p ipv4 –iv 4 –ih 5 –il 128 –is 10.0.0.1 –id 30.0.0.1 –p tcp –ts 1379 –td 23 –tt 8 30.0.0.1
-v:运行时输出详细运行信息,如不指定,运行时不输出信息
–d r64:用64 字节的随机数值填充IP 包中的数据段
–p ipv4:指定协议类型为IP 协议(IP 协议有自己的相应参数,以i 开头)
–iv 4:协议版本为4,即IPV4
–ih 5:指定IP 头的长度为5×4=20 字节
–il 128:指定IP 包的总长度为128 字节
–is 10.0.0.1:指定IP 包的源地址
–id 30.0.0.1:指定IP 包的目的地址
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第4 页共14 页
–p tcp:指定IP 包中封装的包的协议类型(TCP 协议有自己的相应参数,以t 开头)
–ts 1379:指定TCP 包的源端口1379
–td 23:指定TCP 包的目的端口为23
-tt 8:指定TCP 包的偏移量即TCP 头的长度,没有TCP 选项时为5,即20 字
节,有TCP 选项时需要增加。
30.0.0.1:指定发包的目的主机
以上部分为利用SENDIP 发送一个简单的TCP 数据包的方法,下面结合IP 和TCP 数据
包的格式详细介绍IP 和TCP 协议的各种参数。
具体各种协议的数据包格式可参考TCP/IP 协议中对各种协议数据包格式的介绍,下面
我们只介绍IP 数据包的格式和TCP 数据包的格式:
IP 数据包的格式:
根据IP 数据包的格式,SENDIP 有如下命令行参数可以指定对应的IP 数据包中参数的
值。
Field name
Size
(bits)
SendIP
option
Description
Version 4 -iv Always 4(对应“4 位版本”,通常值为4,表示IPV4)
Header length 4 -ih
IP header length, measured in 32bit words, 5 if there are
no options(对应“4 位首部长度”,表示以32 位即4
字节为单位的IP 首部长度,如果没有IP 参数的话,
通常为5,表示首部长度为20 字节,如有IP 参数的
话,需要调整该值)
Type of
Service/Differentiated
Services
8 -iy
服务类型(TOS)字段由8 位组成,其中包括3 位的
优先权字段(现已被忽略)、4 位的TOS 子字段和1
位未用位但必须置0,4 位TOS 子字段分别代表最小
时延、最大吞吐量、最高可靠性和最小费用。4 位只
能置其中1 位,使用时只要将设置相应位后运算出十
进制值即可。如要设置最大吞吐量位(00001000),只
需添加参数iy 8 即可。
Total Length 16 -il Total length of IP packet including header and data,
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第5 页共14 页
measured in octets(指定IP 包的总长度,包括IP 头部
分和数据部分,以8 位字节为单位,最长为65535)
Identification 16 -ii
Used to help reassembled fragmented packets(指定IP
包的标识号,用来帮助重新组装分段的IP 包)
-ifr 1 bit: reserved, should be 0
-ifd 1 bit: don't fragment(可指定-ifd x,下可为0、1 或r) Flags 3
-ifm 1 bit: more fragmets(可指定-ifm x,下可为0、1 或r)
Fragment offset 13 -if
Where in the reconstructed datagram this fragment
belongs, measured in 64bit words starting from 0(以8
字节长度为单位,指定段偏移量)
Time to Live 8 -it
Number of routers the packet can pass through before
being discarded(值的范围从0 到255,指定TTL,表
示该包可通过的路由器的数目,用于防止包在循环路
径上无休止地传递)
Protocol 8 -ip
Protocol associated with the data. See iana for an
uptodate list of assigned numbers(用于定义IP 包内部
封装的上层协议的协议号,如TCP 为6,可在IANA
的网站上
http://www.iana.org/assignments/protocol-numbers
获得最新的协议号表)
Header checksum 16 -ic
Checksum of the IP header data (with checksum set to
zero)(可指定IP 首部校验和的值,通常由SENDIP 自
动生成,不指定该参数,除非要发出带有错误校验和
的包)
Source Address 32 -is Duhh...(源地址,以点分十进制方式表示)
Destination Address 32 -id Cabbage(目的地址,以点分十进制方式表示)
Options Variable -io...
No options are required. Any number can be added. See
below for details(定义各种IP 选项,如果定义了IP
选项,则前面的IP 头的长度值要包括IP 选项的长度,
不带IP 选项时,该值为20,带IP 选项时,可设定该
值,如果要故意制造不匹配的包,可不符合规范。)
如果有IP 选项,还可指定IP 选项的值,SENDIP 支持的IP 选项如下表所示。
Name
SendIP
option
RFC Copy Class Number
Type
(see
above)
Length
(0 not
present)
Description
EOL -ioeol 791 0 0 0 0 0
Used as padding if needed
(使用该选项后,会自动在IP 头
中未用到的位补0)
NOP -ionop 791 0 0 1 1 0
Do nothing. Often used as padding
so the next option starts on a 32 bit
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第6 页共14 页
boundary
RR -iorr 791 0 0 7 7 variable
Used to record the route of a
packet.(记录包走过的每个路由
器, 通常用法是: -iorr
0f:ff.ff.ff.ff:10.0.0.234 –ioeol,其中
iorr 表示记录路由,此时系统会自
动将IP 选项号置为07,0f 表示指
针,即记录的最后一个IP 地址的
指针,系统会自动运算该IP 选项
的长度)
TS -iots 791 0 2 4 68 variable
Used to record the time at which a
packet was processed by an
intermediate system
LSR -iolsr 791 1 0 3 131 vairable
Loose Source Route - let the
source specify the route for a
packet.
SID -iosid 791 1 0 8 136 4
Rarely used, carries the SATNET
stream identifier.
SSR -iossr 791 1 0 9 137 variable
Strict Source Route - same as LSR,
but extra hops are not allowed.
SEC
791,
1108
1 0 2 130 variable Security, rarely used
E-SEC 1108 1 0 5 133 variable Extended Security, rarely used
通常在SENDIP 中指定IP 选项时,格式比较特别,下面我们以RR 记录路由选项为例
介绍一下,如果要发送一个记录三个IP 的数据包,需要考虑如下,一是指定IP 头的长度要
包括IP 选项的长度,而是要指定RR 记录路由选项的指针位置和IP 地址(本来是由系统自
动记录IP 和更新指针位置,但现在必须手工指定),那么记录三个IP 包后,指针的位置应
是3+4×3+1=16,造好后,数据包的格式应该如下:
IP 头07 15 16 10.0.0.234(IP1) 20.0.0.234(IP2) 30.0.0.234(IP3) 00(ioeol) tcp
20B RR len ptr 4bytes 4bytes 4bytes Ptr
具体命令行如下:
#sendip –d r64 –p ipv4 –iv 4 –ih 10 –il 128 –is 10.0.0.1 –id 30.0.0.1 –iorr 10:10.0.0.234:20.0.0.234:30.0.0.234
–ioeol –p tcp –ts 1379 –td 23 –tt 8 30.0.0.1
-ih 10 表示IP 头的长度为10×4 为40 个字节,去除标准的20 个字节长度,为IP
选项预留为20 个字节
-iorr 10:10.0.0.234:20.0.0.234:30.0.0.234 中第一个10 表示用16 进制表示的指针的
位置,后面为用冒号分隔的三个用点分十进制表示的IP 地址
-ioeol 表示用00 结束IP 选项,并用随机数填充后面未用的IP 头位置
以上部分只是以RR 记录路由IP 选项为例,介绍了sendip 中指定IP 选项的方法,当然
也可以根据自己的要求发送IP 选项不符合常规的数据包。其他的IP 选项与此雷同,但发送
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第7 页共14 页
前需要详细了解IP 选项的格式,才可正确发送。
TCP 数据包的格式:
根据TCP 数据包的格式,SENDIP 有如下命令行参数可以指定对应的TCP 数据包中参
数的值。
Field name
Size
(bits)
SendIP
option
Description
Source port 16 -ts
Source port number for the connection
(以十进制的方式指定TCP 原端口)
Destination port 16 -td
Destination port number
(以十进制的方式指定TCP 目的端口)
Sequence number 32 -tn
Number of the first data octet in this packet. If SYN bit is
set, this is the number of the first data octet of the stream
too.(指定TCP 序列号,如果不指定则随机产生)
Acknowledgment
number
32 -ta
If ACK bit is set, the next sequence number the sender is
expecting to receive.
Data offset 4 -tt
Length of TCP header in 32 bit words(指定TCP 头的长
度,单位是以32bits 也就是4 字节为单位)
Reserved 4 -tr
Should be 0. Note, rfc793 defines this as a 6 bit field, but
the last 2 are used by rfc2481 for ECN as below.
Flags: ECN 1 -tfe
Flags: CWR 1 -tfc
ECN extension flags, see rfc2481. (指定TCP 标志位,
如果要打开哪一位,就在命令行参数中指定相应位的
值,如要设置SYN 状态,只需在命令行加入-tfs 1 即可
)
Flags: URG 1 -tfu Urgent pointer is significant(同上)
Flags: ACK 1 -tfa Acknowledgment field is significant(同上)
Flags: PSH 1 -tfp Push function(同上)
Flags: RST 1 -tfr Reset the connection(同上)
Flags: SYN 1 -tfs Synchronize sequence numbers(同上)
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第8 页共14 页
Flags: FIN 1 -tff No more data from sender(同上)
Window 16 -tw
Number of octet starting from the one in the
Acknowledgement field that the sender is willing to
accept
Checksum 16 -tc
Checksum of the TCP header (with checksum set to 0),
data, and a psuedo-header including the source and
destination IP addresses, IP protocol field and a 16 bit
length of the TCP header and data.
Urgent pointer 16 -tu
If URG bit is set, tHe offset of the last octet of urgent data
in this packet.
Options Variable -to...
No options are required. Any number can be added. See
below for details.
如果有TCP 选项,还可指定TCP 选项的值,SENDIP 支持的TCP 选项如下表所示。
Name
SendIP
option
RFC Type
Length (0
not
present)
Description
EOL -toeol 793 0 0
Used as padding if needed(用00 填充,表示TCP
选项结束,把TCP 头后面的位置用随机数填充)
NOP -tonop 793 1 0
Do nothing. Often used as padding so the next
option starts on a 32 bit boundary
MSS -tomss 793 2 4
Specify the maximum recieve segment size of the
sender as a 16 bit number. Only valid when SYN is
also set
WSOPT -towscale 1323 3 3
The window size should be leftshifted by the value
of the option (an 8 bit number). Only valid when
SYN is also set.
SACKOK -tosackok 2018 4 2
Selective Acknowledgement is permitted on this
connection
SACK -tosack 2018 5 variable
Selective Acknowledgement of non-contiguous
blocks of data. The data in the option is a series of
(left edge)-(right edge) pairs giving, respectively,
the first sequence number the has been recieved and
the first that hasn't.
TSOPT -tots 1323 8 10
Timestamp. The first 4 bytes (TSval) are the time
that the packet was sent, the remaining 4 (TSecr)
echo the TSval of a packet that was recieved. TSecr
is only valid when the ACK bit is set.
从上表所示,可以看出,TCP 选项可能只有一个单字节参数,如-toeol 和-tonop,也可
能由一个Type 号和一个length 长度以及该length 长度指定的字节数的数据组成的参数,使
用时sendip 会自动运算length 的长度,所以,不能随意设定TCP 选项的长度,但需要设定
TCP 选项的值。
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第9 页共14 页
在设定TCP 选项时,同样要考虑到TCP 头的长度要包括TCP 选项的长度。
TCP 选项数据包的格式大致如下:
Kind=3 Len=3 数据:移位数
TCP 选项号TCP 选项长度TCP 选项数据占一个字节,总长度为三个字节
具体命令行格式可参照如下格式:
#sendip –d r64 –p ipv4 –iv 4 –ih 10 –il 128 –is 10.0.0.1 –id 30.0.0.1 –iorr 10:10.0.0.234:20.0.0.234:30.0.0.234
–ioeol –p tcp –ts 1379 –td 23 –tt 8 –tfa 0 –tfs 1 –towscale 0 –toeol 30.0.0.1
-towscale 0 :指设置TCP 选项3,长度为自动3,TCP 选项的值即移位数为0
-toeol :表示TCP 选项结束,后面用随机数填满TCP 头
因为用SENDIP 设定TCP 选项时,不能设定长度,所以,如果要设定长度不正确的包,
还要借助其他工具,如SNIFFER,用SNIFFER 抓到SENDIP 发送的包后,再将对应的TCP
选项的长度改为不规则的值即可。
根据前面介绍的内容,我们已经基本可以掌握用SENDIP 发送各种协议数据包的方法,
当然我们还可以利用他发送各种不符合标准的数据包,如校验和错误、长度不正确、状态位
不正确等各种我们需要的数据包,在使用时,建议与SNIFFER 搭配使用,以验证SENDIP
发出的包是否正确,进行有针对性的测试。
2.2. NESSUS 工具
NESSUS 是一个非常庞大的工具,它可以提供功能完善的安全扫描服务,还可以提供全
面的发包功能,用以构造各种格式的网络通信包。本篇只关注NESSUS 的发包功能。
NESSUS 由两个部分组成,一部分是服务器,通常运行在POSIX 系统如LINUX/UNIX
系统中,负责扫描和攻击,并收集数据,另一部分是客户端,可以运行在LINUX/UNIX 系
统或WINDOWS 系统中,负责接收和显示数据。
如果只是用来发包,则只需要服务端即可。
NESSUS 有专门的维护网站,可以随时到http://www.nessus.org 网站下载最新的源代码,
并获得全面的帮助。目前,NESSUS 最新的版本为2.0.8a。
2.2.1. NESSUS 安装方法
安装NESSUS 前要知道NESSUS 可能需要的支撑软件包,一个是GTK,通常POSIX
系统下的NESSUS 客户端需要GTK,如果你的系统安装了GTK,则必须确保安装了
gtk-config 程序,可到ftp://ftp.gimp.org/pub/gtk/v1.2 网站下载最新的GTK 程序,如果只在
LINUX/UNIX 系统下安装服务端,则可以不需要GTK 包;另一个是OPENSSL 包,如果希
望客户端和服务端的通信采用SSL 方式,则需要OPENSSL 包,可到http://www.openssl.org/
下载最新的OPENSSL 包,OPENSSL 包是可选的。
NESSUS 有三种安装方法:第一种是利用LINUX 下的LYNX 工具直接从网上安装,这
种方法很容易,但安全性低,在此不予详细介绍,可到NESSUS 网站上获取相关信息。第
二种方法是使用NESSUS 提供的nessus-installer.sh 工具,直接安装,这种方法简单且安全性
比较高。第三种方法是获取源码包,然后分别编译再进行安装。下面分别介绍第二种和第三
种方法。
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第10 页共14 页
2.2.1.1. 采用nessus-installer.sh 方式安装
从NESSUS 网站下载最新的nessus-installer.sh 文件到本地LINUX 目录,然后执行
#sh nessus-installer.sh
系统会自动安装NESSUS 到你的系统中,中间会需要你提供相关的提示信息,一直按
回车即可。
2.2.1.2. 采用源码包方式安装
如果采用源码包方式进行安装,需要下载四个软件包,并按顺序进行安装。四个软件包
分别如下:
nessus-libraries
libnasl
nessus-core
nessus-plugins
安装时必须按顺序安装这四个软件包。
安装前,我们必须获得上面所说的四个软件包,目前版本为2.0.8a:
nessus-libraries-x.x.tar.gz
libnasl-x.x.tar.gz
nessus-core.x.x.tar.gz
nessus-plugins.x.x.tar.gz
然后开始进行安装。
1. 安装nessus-libraries
#tar –xzvf nessus-libraries-x.x.tar.gz
#cd nessus-libraries-x.x
#./configure
#make
#make install
2. 安装libnasl-x.x.tar.gz (执行与上面相同的操作)
3. 安装nessus-core.x.x.tar.gz(执行与上面相同的操作)
4. 安装nessus-plugins.x.x.tar.gz (执行与上面相同的操作)
5. 如果使用的是LINUX 系统,必须确保/usr/local/lib 路径在/etc/ld.so.conf 文件中,如
果是SOLARIS 系统, 必须执行export LD_LIBRARY_PATH=
$LD_LIBRARY_PATH :/usr/local/lib 命令。
6. 执行ldconfig 命令
7. 如果不想或不能使用GTK 的客户端,可强制使用命令行方式,这时,在执行第三
步编译nessus-core 时,可以使用如下命令:
#tar –xzvf nessus-libraries-x.x.tar.gz
#cd nessus-libraries-x.x
#./configure --disable-gtk
#make
#make install
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第11 页共14 页
执行以上命令后,NESSUS 就已经安装在您的系统中了。
2.2.2. NESSUS 的发包方法
NESSUS 通常采用脚本方式控制发出的包,下面我们以发送圣诞老人攻击包为例,来介
绍如何利用NESSUS 发送数据包。
圣诞老人包是通过发送TCP Flag 中同时有SYN 和FIN 标志的数据包,穿透防火墙,
来达到攻击的目的。
为使用NESSUS 发送攻击包,首先要定义一个脚本,在LINUX 下,执行vi sendp 命令,
输入如下内容:
srcaddr=this_host(); 注:自动获取当前主机的IP 地址
ip = forge_ip_packet( ip_v : 4, 注:IP 协议版本为IPV4
ip_hl : 5, 注:IP 头的长度为5×4=20 字节
ip_tos : 0,
ip_len : 40, 注:在这里输入实际的长度40,因为IP 头和TCP 头都为20
ip_id : 0xABA,
ip_p : IPPROTO_TCP, 注:内部数据包协议为TCP
ip_ttl : 255,
ip_off : 0,
ip_src : srcaddr); 注:可在此直接输入IP
port = get_host_open_port(); 注:自动获取当前主机上的可用端口
if(!port)port = 139; 注:如果没有可用端口,就自动使用139 端口
tcpip = forge_tcp_packet( ip : ip, 注:表示IP 层协议采用前面定义的IP 协议包
th_sport : port, 注:可在这里直接输入端口
th_dport : port, 注:可在这里直接输入端口
th_flags : TH_SYN|TH_FIN, 注:设置TCP 状态的SYN 和FIN 标志位
th_seq : 0xF1C,
th_ack : 0,
th_x2 : 0,
th_off : 5, 注:TCP 头的长度位5×4=20 字节
th_win : 512,
th_urp : 0);
result = send_packet(tcpip,pcap_active:FALSE);
编辑完上面的脚本后,保存退出,运行如下命令:
#nasl –t 目的IP 地址测试脚本
如:
#nasl –t 10.0.0.227 sendp
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第12 页共14 页
通过Sniffer 抓包,就会发现有相应的圣诞老人包。
在我的使用过程中,发现NESSUS 好像不支持发送带有IP 或TCP 选项的包。
具体发包的参数可参考http://www.nessus.org/doc/nasl.html
2.3. SNIFFER 工具
用SNIFFER 发包时,有两种方式,一种是直接利用Packet Generator 工具,从0 开始用
16 进制的方式造一个数据包,这种方法难度较高,因为要自己算出校验和,除非需要重现
在网络上抓到的一个16 进制格式的数据包,另外一种方式是利用已经抓到的数据包修改一
下,再发送出去,具体实现方法分别如下。
2.3.1. 利用Packet Generator 直接造包
在SNIFFER 中,选择Tools|Packet Generator 菜单,系统弹出窗口如下:
按图中的红色框中的按钮,系统会弹出一个构造包内容的对话框,如下所示:
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第13 页共14 页
在上图中可输入包的内容,还可规定发包的个数和包的长度。
2.3.2. 利用已抓的包发包
利用已抓的包进行修改,可以避免大量的运算和输入,只需要更改自己需要更改的地方,
然后发出去即可。
如上图所示,按包的大致要求,用其他工具造好包后,用SNIFFER 抓包,或者直接将
网络上的可疑包抓过来,然后,用鼠标邮件单击该包,弹出如上图所示的快捷菜单,从中选
择Send Current Frame 菜单,系统就会弹出如下图所示的发包窗口:
AntPower 版权所有© 2003 技术文章
http://www.antpower.org 第14 页共14 页
按要求更改包的内容,即可发送。需要注意的是如果更改了IP 地址或其他头中的内容,
则需要更新校验和,对MAC 或选项的更改不需要更改校验和。
3. 总结
通过对比前面的三种发包工具,我们发现每种工具都有自己的优点和缺点,SENDIP 比
较短小而且功能较齐全,比较适合在日常测试中使用,SNIFFER 发包工具最自由,可以发
出任何可能的数据包,NESSUS 工具功能比较全面,但在发包方面不如SENDIP,所以,建
议如果是测试需要的话,应该采用SENDIP 和SNIFFER 相结合的方式,如果同时还要使用
扫描等其他功能,可以采用NESSUS 工具。

packETH发包工具使用教程 测试环境: 在vmware上运行两台Ubuntu虚拟机。 Ubuntu1:Ubuntu14.04,安装packETH Ubuntu2:Ubuntu16.04,gnome版 Feature: •you can create and send any ethernet packet. Supported protocols: •ethernet II, ethernet 802.3... 阅读详情

相关推荐

科来数据包生成器 发包工具[免费版]

科来数据包生成器 -------------------------------------------------------------------------------- 科来数据包生成器是一个用于网络测试的网络数据生成工具,它可以生成各种的数据包,或直接对网络中捕获的数据包进行数据值编辑,目前是目前最强的数据包编辑器。用它可以: 网络测试:生成64到1518字节的数据包,循环发送,来测试网络或关键设备对流量的承载能力。 错误或攻击测试:生成错误的数据包,或从网络中采集攻击数据包,模拟故障网络,来调整网络安全策略。 应用模拟:可以截取网络中的各种应用进行回放,如上网操作,邮件发送,FTP传输等。 教学和演示:结合科来网络分析系统,用于TCP/IP网络教学和网络传输过程的演示。 科来数据包播放器的启动方法有以下三种: 科来网络分析系统程序菜单->科来网络分析系统工具集->科来数据包生成器; 科来网络分析系统工具菜单->数据包生成器; 开始->运行->输入“pktbuilder”命令并回车。 启动数据包生成器后,其界面如下图所示。 使用界面由3部分构成: 数据包列表窗口 字段解码窗口 十六进制解码窗口 下面2个编辑窗口依附于数据包列表窗口,用户可以选择一个或多个数据包文件通过下面2个编辑窗口进行详细编辑。 另外,用户可以根据需要使用鼠标任意调整三个窗口之间的位置。 使用数据包播放器,您可以进行如下操作: 添加数据包 用户可以在数据包列表窗口导入已捕获的数据包,也可以使用数据包生成器 提供的模板构造新的数据包(目前提供了4种数据包模板:ARP、IP、TCP、UDP)。 编辑数据包 用户可以在字段解码窗口和十六进制解码窗口编辑数据包。 发送数据包 数据包生成器可以将编辑好的数据包文件通过指定的网卡发送 到网络。 另外,科来数据包生成器可以将编辑好的数据包文件导出保存,目前只支持导出(*.cscpkt)格式的数据包。

linux网络调试发包抓包工具

目录 1、发包工具 1.1 sendip 1.2 tcpreply 2、抓包工具 2.1、tcpdump 2.2 tcpflow 3、速率测试工具 4、加密工具 4.1 tcpcryptd 5.linux网络编程 5.1、tcp 5.2、udp 1、发包工具 1.1 sendip Sendip是一个linux平台的命令行发数据包工具,目前(2018年2月)支持的...

何高志 3万+

LabVIEW多界面应用开发:从启动器到主界面的切换架构与实现

在图形化编程领域,模块化与界面管理是构建复杂应用程序的核心。其原理在于通过清晰的程序架构,实现不同功能模块间的独立运行与协同工作,从而提升代码的可维护性和可扩展性。这种架构的技术价值在于能够有效管理应用程序的生命周期与资源,避免内存泄漏,并确保流畅的用户体验。在测控系统、自动化测试等工程实践中,常需实现如启动界面选择语言或模式后,无缝切换至主功能界面的场景。本文聚焦于LabVIEW环境,深入探讨如何利用动态调用、状态机等机制,并结合功能全局变量(FGV)与队列消息处理器(QMH)等热词技术,构建健壮的多界面

weixin_30802819的博客 262

图形化UDP发包小工具

图形化UDP包发送小工具

weixin_56319791的博客 6503

信号削峰CFR基础知识介绍(一)

接下来,将得到的峰值分成若干段,在每一段中,仅保留该段内所有峰值中幅度最大的峰值。为了减少不必要的带外泄露,削峰后的信号将通过一个低通滤波器,以减少对应于削峰后信号中尖锐拐角的高频信号。首先,它识别出高于由目标PAPR确定的阈值的峰值。在峰值加窗算法中,削峰是通过在峰值区域将原始信号与一个加窗函数相乘来实现的,如下图所示。其中,w(n) 是一种常见的加窗函数,如凯撒窗、高斯窗和汉明窗等,而 p(n) 是一个加权系数。如上图所示,削峰会导致削峰后的信号出现尖锐的拐角,从而引发不必要的带外辐射(ACP增加)。

weixin_49761275的博客 1549

LABVIEW学习之MODBUS-TCP通讯

LABVIEW学习之MODBUS-TCP通讯 1,MODBUS-TCP通讯介绍: MODBUS通讯是工业上面经常用到的一种通讯协议。该协议的原理及介绍不在此累述,下面直接介绍LABVIEW对此协议的应用。 2,MODBUS通讯所需的函数: 安装了DSC模块之后可以在数据通信内找到相关函数 3 ,主VI 主要思路就是使用状态机来进行连接 读取 写入 断开。使用枚举类型来选择状态: 1,连接 2,写入多个M继电器: 3,写入单个M继电器 4,写入双字节D...

风动9527的博客 2万+

linux网络随机ip发包工具,三款常用IP发包工具介绍

1. 简介在从事网络产品尤其是网络安全产品开发时,我们一直面临着一个问题,就是对产品的TCP/IP 协议栈进行稳定性或安全性测试,确保开发产品在遇到各种不规则的错误的IP 包时仍可正常稳定高效地工作,我们知道,在正常的网络环境中,很难产生错误的IP 包,也很难产生我们想要的错误的IP 包,为此,要完成对产品的测试,我们必须自己来制造各种各样错误的IP 包,本篇的目的就是介绍如何利用各种发包工具来制...

weixin_42588555的博客 3969

基于TL431与MOSFET的高效过压保护电路设计详解

本文详细解析了基于TL431与MOSFET的高效过压保护电路设计。通过TL431精准监测电压,驱动MOSFET作为主开关,实现快速可靠的电源保护。文章涵盖电路原理、参数计算、性能优化及实战调试要点,为电子设备提供了一套经典且成本低廉的过压保护解决方案。

weixin_29215391的博客 771

三款经常使用IP发包工具介绍

AntPower 版权全部© 2003 技术文章http://www.antpower.org 第1 页共14 页AntPower-技术文章三款经常使用IP 发包工具介绍小蚁雄心成员郎国军著lgj@qingdao.cngb.comURL修订版本号版本号时间修订人说明AntPower 版权全部© 2003 技术文章http://www.antpower.org 第2 页共14 页1. 简单介绍在...

weixin_30263073的博客 500

PCIe控制器深度解析-RK3588 PCIe子系统核心模块探秘

本文深度解析了RK3588芯片中PCIe子系统的核心架构与功能模块。文章将PCIe控制器比作智能交通枢纽,详细阐述了RADM、XADM、CDM、eDMA等核心模块的工作原理,包括数据流管理、地址转换、DMA加速及电源管理。旨在帮助开发者和硬件工程师深入理解RK3588 PCIe控制器的内部机制,为驱动开发、性能优化和故障排查提供清晰的思路与实用指导。

weixin_29246195的博客 187

VN1640 CH5 I/O通道终极指南:【从硬件原理—>工程实战—>自动化测试实战】

摘要:本文详细解析Vector VN1640 CH5 I/O通道的硬件原理与工程应用,涵盖模拟输入(AIN)、数字输入(DIN)和数字输出(DOUT)三大功能模块的配置指南。通过硬件隔离设计实现高精度信号采集与驱动控制,重点分析开漏输出特性及保护机制。提供PWM控制、ECU上电时序测试、传感器闭环控制等实战案例的CAPL脚本代码,并强调多设备同步采集的精准性(时间偏差<1µs)。适用于汽车电子HIL测试、ECU信号监测等场景,所有方案均通过实际项目验证。

汽车控制器系统开发、VIL测试、HIL测试、MIL测试、EMS电喷系统标定与开发、热管理系统标定 759

常用IP发包工具

三款常用IP发包工具介绍AntPower 版权所有© 2003 技术文章http://www.antpower.org 第1 页共14 页AntPower-技术文章三款常用IP 发包工具介绍小蚁雄心成员郎国军著lgj@qingdao.cngb.com URL修订版本版本时间修订人说明AntPower 版权所有© 2003 技术文章http://www.antpower.org 第2 页共14

技术分享专栏 1741

数仓解惑:数据仓库常见建模方法与大数据领域建模实例综述

为什么需要数据建模? 为什么要进行数据仓库建模? 随着DT时代互联网、智能设备等信息技术的发展,数据开始井喷式的增长,如何讲这些数据进行有序、有结构地分类组织存储是我们面临的一个挑战。 如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置,而不是乱糟糟的 大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在 性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑 ...

云祁QI 5849

常用IP发包工具介绍

三款常用IP 发包工具介绍 小蚁雄心成员郎国军著 lgj@qingdao.cngb.com URL 修订版本 版本时间修订人说明 AntPower 版权所有© 2003 技术文章 http://www.antpower.org 第2 页共14 页 1. 简介 在从事网络产品尤其是网络安全产品开发时,我们一直面临着一个问题,就是对产品的 TCP/IP 协议栈进行稳定性或安全性测试...

weixin_30455661的博客 150

vue支付项目-APP支付宝支付功能

如果用户已安装支付宝客户端,商家 App 唤起支付宝完成支付,支付完后跳回到商家 App 内,最后展示支付结果。如果用户没有安装支付宝客户端,商家 App 内会调起支付宝网页支付收银台,用户登录支付宝账号,支付完后展示支付结果。1.点击按钮开通或者续费,会验证是否选择会员商品以及对协议是否查看选中(这里根据项目需要自行验证,可忽略),验证通过打开选择支付方式弹窗页面,选择微信支付或者支付宝支付;4.可取消支付,放弃支付会返回会员页面,页面提示支付取消;1.判断支付方式,如果是2,则是支付宝支付方式。

总结前端开发中遇到的问题,分享前端知识 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ip地址管理工具_【干货】三款IP地址管理工具,你一定用的到

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。现在就跟着小编共同来学习一下:简单介绍基于GPL许可的三款IP地址管理工具。  就算是在一些最小型的网络上面,一个集成的网络发现/IP地址跟踪/DNS以及DHCP管理应用程序都能够直接极大地节省网络管理人员的时间,对于一些大型的网络来说的话,它更是不可缺少的工具。  大家都应...

weixin_39971435的博客 5740

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

三款Zookeeper可视化工具介绍

三款Zookeeper可视化工具介绍 【下载地址】三款Zookeeper可视化工具介绍 三款Zookeeper可视化工具介绍本仓库提供了一个资源文件的下载,该资源文件包含了三款Zookeeper可视化工具:ZooInspector、prettyZoo和ZooKeeperAssistant ...

gitblog_06527的博客 744

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

三款Zookeeper可视化工具、ZooInspector、prettyZoo、ZooKeeperAssistant

介绍三款Zookeeper可视化工具。

郝开的博客 1万+

【神器】这三款网络抓包工具在手,同事想甩锅都难!

1、聊一聊 一首非常有感染力的电音歌曲,party必备!2、正文部分大家都知道在进行稍微大一点的系统软件项目开发中,一般都会分为上、下位机软件开发,而使用以太网进行系统通...

最后一个bug的博客 1万+

三款好用又免费的SSH工具推荐!

本文将为你推荐三款常用的免费SSH工具,帮助你快速上手远程连接服务器,了解每种工具的功能特点和适用场景,让远程管理更高效便捷。

2501_90825385的博客 733

三款工具便捷测试TCP或UDP端口是否开放

作为一名网管(并不是),有时候需要负责一些网络运维相关的工作,而判断端口是否开放是调试网路中经常用到的技术,下面简单介绍三款常用的端口连通性测试工具,其中Telnet和Tcping仅适用于TCP端口,而Netcat同时适用TCP和UDP。

fishfishfishman的博客 1万+

三步拆解:如何用AI工具高效完成论文?实测三款工具后,我发现了最优解

熬夜写论文的你,是不是也经历过这些?刷了3小时短视频,文档依旧空白。文献综述毫无头绪,创新点更是想破脑袋。导师催稿的微信像定时炸弹,你却连大纲都没定好……别慌!用对工具,论文也能“弯道超车”。这次我实测了国内热门的3款AI工具——DeepSeek、豆包、笔灵AI,帮你找到最适合论文党的“外挂”。

chataigc的博客 1125

亲测ToDesk、向日葵、AnyDesk 三款远程工具!谁更快、更稳、用着更安心?

亲测ToDesk、向日葵、AnyDesk 三款远程工具!谁更快、更稳、用着更安心?

m0_73367097的博客 3万+
上一篇: 避免网页代码被缓存的办法
下一篇: 各显卡详细参数一览 zt 太平洋电脑网
freexploit
博客等级 码龄22年 315粉丝 778原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值