标签: tap

使用Python与MAC OSX(Lion)的TUN\TAP连接

我找到了以下tun\tap示例程序,但无法使其工作:

http://www.secdev.org/projects/tuntap_udp/files/tunproxy.py

我修改了以下几行:

f = os.open("/dev/tun0", os.O_RDWR)
ifs = ioctl(f, TUNSETIFF, struct.pack("16sH", "toto%d", TUNMODE))
ifname = ifs[:16].strip("\x00")
Run Code Online (Sandbox Code Playgroud)

修改了第一行以反映驱动程序的实际位置.它原来是

f = os.open("/dev/net/tun", os.O_RDWR)
Run Code Online (Sandbox Code Playgroud)

运行后,我收到以下错误:

 sudo ./tuntap.py -s 9000
 Password:
 Traceback (most recent call last):
   File "./tuntap.py", line 65, in <module>
     ifs = ioctl(f, TUNSETIFF, struct.pack("16sH", "toto%d", TUNMODE))
 IOError: [Errno 25] Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)

我正在使用从http://tuntaposx.sourceforge.net/download.xhtml安装的最新tun\tap驱动程序

python networking tap driver tun

7
推荐指数
1
解决办法
9443
查看次数

如何手动创建TAP输出

每个人都使用一个很棒的Perl模块 Test :: More进行单元测试.这是一个非常简单的脚本t/sample_1.t:

use Test::More tests => 1;

fail('This test fails');
Run Code Online (Sandbox Code Playgroud)

我想编写执行相同操作的脚本,但没有 Test :: More.

我已经阅读了几篇关于TAP(测试任何协议)的文档,以了解如何编写脚本.我读了:

不幸的是文档还不够.我不得不检查使用Test :: More的脚本输出,以找出我需要向STDERR输出诊断信息(文档中没有任何内容).

所以,我编写了一个脚本,它与使用Test :: More脚本的脚本完全相同.这是列表t/sample_2.t:

$| = 1;

print "1..1\n";
print "not ok 1 - This test fails\n";
print STDERR "#   Failed test 'This test fails'\n";
print STDERR "#   at t/sample_1.t line 3.\n";
print STDERR "# Looks like you failed 1 test of 1.\n";

exit 1;
Run Code Online (Sandbox Code Playgroud)

但是当使用prove这两个脚本输出不同的东西时.prove对于不同的测试,"#Failed test'此测试失败'" 行显示在不同的行上.这是截图:

Perl证明了2个样本单元测试的输出

我编写了一个测试脚本,使用 …

perl tap

7
推荐指数
1
解决办法
621
查看次数

自制错误:在水龙头中找不到公式

我正在尝试在我的 MacBook Pro (OSX Sierra) 上安装 paramiko 而不通过 Xcode,因为我懒得诚实地安装 Xcode。

尝试运行时:

brew install paramiko
Run Code Online (Sandbox Code Playgroud)

我得到:

Error: No available formula with the name "paramiko"
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.
Run Code Online (Sandbox Code Playgroud)

我尝试通过以下方式打开自制软件:

brew untap homebrew
Run Code Online (Sandbox Code Playgroud)

我得到:

Error: No available tap homebrew/php.
Run Code Online (Sandbox Code Playgroud)

还试过:

brew tap --repair
brew update
Run Code Online (Sandbox Code Playgroud)

除了:

Updated 1 tap (caskroom/cask).
No changes to formulae.
Run Code Online (Sandbox Code Playgroud)

如果我必须通过 Xcode,那很好,但我觉得这里的问题不是安装过程,而是水龙头的一些奇怪的东西......

macos terminal homebrew tap paramiko

7
推荐指数
3
解决办法
4万
查看次数

供应方法行为与水龙头之间的区别

在 Raku 文档中关于供应方法法案(vs tap) https://docs.raku.org/type/Supply#method_act指出:

给定的代码保证一次只由一个线程执行

我的理解是一个线程必须在另一个线程必须运行它之前完成特定的代码对象。

如果是这种情况,我在尝试实现该功能时偶然发现了不同的行为。看看下面的代码片段,其中创建了 2 个“行为”并在不同的线程中运行:

#!/usr/bin/env perl6

say 'Main  runs in [ thread : ', +$*THREAD, ' ]';

my $b = 1;

sub actor {
    print "    Tap_$*tap                             : $^a  ", now;
    
    $*tap < 2 ??
                    do {
                        say " - Sleep 0.1";
                        sleep 0.1
                    }
              !!
                    do {
                        say " - Sleep 0.2";
                        sleep 0.2;
                    }
    
    $b++;
    say "    Tap_$*tap  +1 to \$b                     $b  ", now;
}

my $supply = supply …
Run Code Online (Sandbox Code Playgroud)

tap act rakudo publish-subscribe raku

7
推荐指数
1
解决办法
86
查看次数

如何使用tun/tap接口拆分数据包,隧道然后重新组装.(类似于MLPPP)

我正在寻找创建一个客户端/服务器应用程序,我可以用来将网络数据包分成两半,通过单独的udp连接隧道传输每一半的数据包(因为每个udp连接将通过不同的wifi链接),然后重新组装在另一端拆分数据包.除了分割数据包之外,每个半数据包还必须具有ID和序列号,以便可以正确地重新组装它们.

基本上我正在尝试做类似于MLPPP的事情

我希望使用python和TUN/TAP网络驱动程序来做到这一点.我发现以下python代码示例和模块,我认为可能对此项目有所帮助.

Python tun/tap

Python原始数据包操作

我的问题是可以使用python完成必要的数据包修改,这可能是什么方法来解决这个问题?我可以使用上面的模块来做这个还是有更好的解决方案?我正在寻找一些能引导我朝正确方向发展的信息,因为我不是一名经验丰富的程序员.欢迎使用任何代码示例或其他链接.

python networking tap packet

6
推荐指数
1
解决办法
4756
查看次数

使用ip tuntap命令点击接口和/ dev/net/tun设备

我正在使用ip tuntap创建一个tap界面,如下所示:

$ sudo ip tuntap add mode tap tap0
Run Code Online (Sandbox Code Playgroud)

之后,我设置了接口,并使用常用的IP命令对其进行寻址.我可以看到我的界面和简单的地址ifconfig.

现在,老师告诉我,通过创建一个tap接口(在这种情况下名为tap0),我会找到一个/dev/net/tap0节点,并且我可以在其中写入或读取它.但是,我找不到它.我"只是"有一个/dev/net/tun.

我是否必须处理此tun节点,或者我应该真的有tap0节点?

linux networking network-programming tap tun

6
推荐指数
2
解决办法
2万
查看次数

如何在全屏模式下显示ViewPager?

通过在其中包含一个包含ViewPager的活动,是否可以通过单击触摸设置ViewPager全屏(开/假)?

在此输入图像描述

如果没有,我将在全屏幕中启动一个包含同一ViewPager的另一个实例的新活动,并手动sincronize两个ViewPagers CurrentItem,这将需要更多的内存和更多的对象来实例化.

实现此功能的最佳方法是什么?

android tap fullscreen android-fragments android-viewpager

6
推荐指数
1
解决办法
3239
查看次数

Hammer.js点击触发点击动作后点击后面的DOM元素

我使用Hammer.js来检测移动设备上的触摸,点按,滑动等.

我有一个交互点,我可以隐藏被点击的内容(可能是父母)并在其位置显示一些其他内容(更改屏幕 - 类似功能).

问题在于新近可见的内容可能在它们上具有它们自己绑定的事件,或者可以在点击时本地交互(例如,标签切换复选框,文本输入被聚焦).如果在点击发生时隐藏/显示组件,则400ms单击事件仍在运行,然后在下面的元素上触发.

在手机上查看这个jsfiddle:

http://jsfiddle.net/annam/xGJZL/

http://jsfiddle.net/annam/xGJZL/embedded/result/

<div class="checkbox">
    <input type="checkbox" id="check" />
    <label for="check"></label>
</div>
<div class="box"></div>

<style>
.checkbox { width: 500px; height: 500px; position: absolute; top: 0; ; left: 0;  }
.checkbox input { display: none; }
.checkbox label { display: block; width: 100%; height: 100%; background: yellow; }
.checkbox input:checked + label { background: green; }
.box { position: absolute; top: 0; left: 0; width: 200px; height: 200px; background: pink; }
</style>

<script>
$('.box').hammer().on('tap', function(e){ $(this).hide(); …
Run Code Online (Sandbox Code Playgroud)

javascript tap hammer.js

6
推荐指数
1
解决办法
6623
查看次数

Chrome:将 console.log 重定向到 stdout

我正在研究重用输出TAP格式的测试的简单方法。

我希望能够从命令行启动 Chrome 并捕获 console.log 输出

如果我有以下文件称为 index.html

<script>
  console.log('beep boop!')
</script>
Run Code Online (Sandbox Code Playgroud)

...然后我可以通过执行以下操作从命令行捕获:

# start-crome --flag > out.txt
Run Code Online (Sandbox Code Playgroud)

...并且 out.txt 包含“哔哔!”?

编辑:是的,还有其他问题涉及将 console.log 手动保存到文件。我想将控制台日志通过管道传输到标准输出,以便可以在自动化的 unix 设置中分析调试信息

javascript testing automated-tests google-chrome tap

6
推荐指数
0
解决办法
3506
查看次数

如何确定 SwiftUI 中多单词文本视图中点击的单词

我想以流布局方式显示单词列表,并能够“选择”一个单词(点击一个单词并知道点击了哪个单词)。我无法弄清楚如何以流畅的方式布局各个单词,因此我创建了一个Text视图,其中单词作为由空格分隔的字符串,但现在我不知道如何检测单词(或零)用修改器点击onTapGesture。有办法吗?

    @State var words : String = ["causticily", "sophora", "promiscuously", "lambaste", "pouring", "wagging", "tailblock", "coquette", "permeability", "rich", "enfilade", "centiloquy", "circumforaneous", "deturbation", "gecko", "nitro-chloroform", "migraine", "spellken", "convergence", "maggotish", "pester", "unprudent", "tenosynovitis", "yellowfish", "lionel", "turbinoid", "leased", "antitropous", "apportion", "metempsychosis", "ecchymosis", "beflower", "harns", "planetarium", "succinyl", "cremocarp", "catechisation", "capacify", "inburnt", "cabotage", "earing", "evestigate", "effectually", "balaniferous", "plowed", "angiospermatous", "acadian", "newfangly", "goblinize", "endotheca", "mesencephalon", "rose-colored", "talapoin", "academe", "cleanser", "escript", "vicine", "crossed"].joined(separator: " ")

    var body : some View {
        ZStack {
            Text(self.words) …
Run Code Online (Sandbox Code Playgroud)

text tap swiftui

6
推荐指数
1
解决办法
1385
查看次数