在 VirtualBox 下找不到端口 22 流量

在 VirtualBox 下找不到端口 22 流量

我正在尝试学习使用 tcpdump。我想偷听我的 ssh 登录。设置有点不寻常,我的 OS X Lion 运行 VirtualBox,Ubuntu 在 VM 中运行。我启用了 ssh,可以正常从 OS X 登录:

> ssh -p 22 10.0.1.2 -l telliott
Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-17-generic i686)

 * Documentation:  https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

Last login: Sat Mar 31 19:54:36 2012 from toms-mac-mini.local
telliott@U32:~$ logout
Connection to 10.0.1.2 closed.
>

我有不是在 Ubuntu 上混淆了 ssh 端口。在 OS X 上,stroke 给出了我期望的结果:

> ./stroke 10.0.1.2 22 22
Port Scanning host: 10.0.1.2

     Open TCP Port:     22          ssh

因此从 OS XI 执行以下操作:

> sudo tcpdump -i en1 -v port 22
Password:
tcpdump: listening on en1, link-type EN10MB (Ethernet), capture size 65535 bytes

然后我使用 ssh 从 OS X 登录到 Ubuntu,但使用 tcpdump 却看不到任何内容。这是来自 Ubuntu 的 ifconfig:

telliott@U32:~$ ifconfig
eth1      Link encap:Ethernet  HWaddr 08:00:27:d7:ba:0e  
          inet addr:10.0.1.2  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fed7:ba0e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:799 errors:0 dropped:0 overruns:0 frame:0
          TX packets:465 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:96863 (96.8 KB)  TX bytes:68638 (68.6 KB)

我希望看到的数据包在哪里?感谢您的帮助。

更新:在 OS X 上

> ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=27<RXCSUM,TXCSUM,VLAN_MTU,TSO4>
    ether 60:fb:42:f4:cd:9e 
    media: autoselect
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:26:b0:fa:75:7f 
    inet6 fe80::226:b0ff:fefa:757f%en1 prefixlen 64 scopeid 0x5 
    inet 10.0.1.3 netmask 0xffffff00 broadcast 10.0.1.255
    media: autoselect
    status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
    lladdr 60:fb:42:ff:fe:f4:cd:9e 
    media: autoselect <full-duplex>
    status: inactive

更新 2:

现在意识到这是一个愚蠢的问题,因为 (i) Ubuntu 上端口 22 上的 tcpdump 工作正常,并且 (ii) 我从未在 OS X 上真正打开过端口 22。ssh 正在通过 VM 的“桥接”模式的一些魔法工作,我还不明白。我正在尝试让下面的解决方案发挥作用,我相信它会起作用。

答案1

尝试将其中一个虚拟机接口设置为仅主机,然后使用 tcpdump 监听 vboxnet0

% sudo tcpdump -AXvnn -s0 -ivboxnet0 port 22
tcpdump: WARNING: vboxnet0: That device doesn't support promiscuous mode
(BIOCPROMISC: Operation not supported on socket)
tcpdump: listening on vboxnet0, link-type EN10MB (Ethernet), capture size 65535 bytes
05:33:38.767959 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
192.168.56.3.22 > 192.168.56.1.56137: Flags [S.], cksum 0x186b (correct), seq 3689124050, ack 844205722, win 14480, options [mss 1460,sackOK,TS val 4294808631 ecr 446189010,nop,wscale 5], length 0

对我来说很有用,另外如果您的网络处于离线状态,您可以通过 SSH 连接到您的 VM。

相关内容