Назад | Перейти на главную страницу

не может найти трафик порта 22 под VirtualBox

Я пытаюсь научиться использовать tcpdump. Я думал, что подслушу мой логин по ssh. Настройка немного необычна, у меня OS X Lion работает с VirtualBox, а Ubuntu работает на виртуальной машине. У меня включен 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.
>

у меня есть не запутал порт ssh в Ubuntu. В OS X штрих дает то, что я ожидал:

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

     Open TCP Port:     22          ssh

Итак, из OS X я делаю:

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

Затем я вхожу из OS X в Ubuntu с помощью ssh, но ничего не вижу с tcpdump. Вот ifconfig из Ubuntu:

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) tcpdump на порту 22 в Ubuntu работает так, как вы ожидали, и (ii) я никогда не открывал порт 22 в OS X. ssh работает с помощью некоторой магии «мостового» режима виртуальная машина, которую я еще не понимаю. Я пытаюсь заставить работать решение, указанное ниже, и я уверен, что это так.

Попробуйте настроить один из интерфейсов виртуальных машин на Host-only, затем используйте 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, если ваша сеть отключена.