小编lon*_*owk的帖子

为什么在Vim中的DiffOrig中使用0d_?

在Vim的在线手册中,:help DiffOrig 将显示推荐的命令序列以获取当前编辑文件的更改.

这里是:

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
                   \ | wincmd p | diffthis
Run Code Online (Sandbox Code Playgroud)

我想知道是什么效果0d_.我试过0d_正常模式,它的工作原理dd,但我无法理解为什么它在这里使用.

vim

5
推荐指数
1
解决办法
352
查看次数

如何快速发送数据包?

我已经比较了两种工具来发送数据包的速度,hping以及packETHcli.packETHcli的命令行选项是

./packETHcli -i eth0 -m 2 -n 0 -d -1 -f icmpSample.pcap
Run Code Online (Sandbox Code Playgroud)

对于hping来说

hping --flood 192.168.0.1
Run Code Online (Sandbox Code Playgroud)

但在iptraf中,它表明发送hping速度的数据包比packETHcli快10倍.

这两种工具都使用原始套接字,但为什么会有这么大的差异?

这是获取源代码的链接.

hping:http://wiki.hping.org/

packETHcli:http://sourceforge.net/projects/packeth/

编辑: 我注意到hping使用AF_INET原始套接字,有效负载是TCP.packETHcli使用PF_PACKET原始套接字,在我的示例中,有效负载是带有ICMP有效负载的IP数据包.它是否会影响数据包发送速度?

EDIT2

这一次,我用ifconfig找到TX包之前之间运行后计数差异hping3packETHcli.并发现两个工具的数据包生成速率接近.hping3每秒约100000个数据包,每秒packETHcli约80000个数据包.

我还vnstat用来测量数据包生成速率.结果与我得到的数字一致ifconfig.

所以,似乎iptraf谎言.我iptraf用来监视TCP数据包的重复重发,而不更新IP ID号和TCP序列号.iptraf我认为我的数据包发送速率是每秒0个数据包.可能是iptraf不计算重复的数据包?

c sockets linux raw-sockets packet-injection

5
推荐指数
1
解决办法
3638
查看次数

如何以编程方式检测linux上是否存在系统调用?

我正在尝试编译一个将在某些旧版本内核上运行的 C 程序。我编译程序的内核版本与我的程序将运行的内核版本不同。如果我只在较新版本的内核上调用系统调用,程序会崩溃还是返回错误值?

c linux system-calls

2
推荐指数
1
解决办法
2341
查看次数

标签 统计

c ×2

linux ×2

packet-injection ×1

raw-sockets ×1

sockets ×1

system-calls ×1

vim ×1