功能:
将点分十进制数串转换为网络字节序 ip 地址
参数:
l:libnet_init() 返回的 libnet * 指针
host_name:
LIBNET_RESOLVE, 对应主机名
LIBNET_DONT_RESOLVE,对应点分十进制 IPv4 地址
返回值:
成功:网络字节序 ip 地址
失败:-1
u_int32_t libnet_get_ipaddr4(libnet_t *l)
功能:
获取接口设备 ip 地址
参数:
l:libnet_init() 返回的 libnet * 指针
返回值:
成功:网络字节序的 ip 地址
失败:-1
struct libnet_ether_addr* libnet_get_hwaddr(libnet_t *l)
功能:
获取接口设备硬件地址
参数:
l:libnet_init() 返回的 libnet * 指针
返回值:
成功:指向 MAC 地址的指针
失败:NULL
libnet_ptag_t libnet_build_udp(
u_int16_t sp, u_int16_t dp,
u_int16_t len, u_int16_t sum,
u_int8_t *payload, u_int32_t payload_s,
libnet_t *l, libnet_ptag_t ptag)
功能:
构造 udp 数据包
参数:
sp: 源端口号
dp:目的端口号
len:udp 包总长度
sum:校验和,设为 0,libnet 自动填充
payload:负载,为给应用程序发送的文本内容,没有内容时可设置为 NULL
payload_s:负载长度,给应用程序发送文本内容的长度,或为 0
l:libnet_init() 返回的 libnet * 指针
ptag:协议标记,第一次组新的发送包时,这里写 0,同一个应用程序,下一次再组包时,这个位置的值写此函数的返回值。
返回值:
成功:协议标记
失败:-1
libnet_ptag_t libnet_build_tcp(
u_int16_t sp, u_int16_t dp,
u_int32_t seq, u_int32_t ack,
u_int8_t control, u_int16_t win
u_int16_t sum, u_int16_t urg,
u_int16_t len, u_int8_t *payload,
u_int32_t payload_s, libnet_t *l,
libnet_ptag_t ptag )
功能:
构造 tcp 数据包
参数:
sp:源端口号
dp:目的端口号
seq:序号
ack:ack 标记
control:控制标记
win:窗口大小
sum:校验和,设为 0,libnet 自动填充
urg:紧急指针
len:tcp包长度
payload:负载,为给应用程序发送的文本内容,可设置为 NULL
payload_s:负载长度,或为 0
l:libnet_init() 返回的 libnet * 指针
ptag:协议标记,第一次组新的发送包时,这里写 0,同一个应用程序,下一次再组包时,这个位置的值写此函数的返回值。
返回值:
成功:协议标记
失败:-1
libnet_ptag_t libnet_build_tcp_options(
u_int8_t *options,
u_int32_t options_s,
libnet_t *l,
libnet_ptag_t ptag )
功能:
构造 tcp 选项数据包
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-36663-2.html
网友们理智多了