Jump to content
Калькуляторы

LLTD scanner for Linux/FreeBSD используем “ответчик обнаружения топологии канального уровня” во благо

Собственно, написал утилитку для обнаружения в сети юзеров, которых ни пингом, ни arping-ом обнаружить не получается.

Например, когда абонент сбил настройки.

Позволяет увидеть машину абонента по маку, даже если у него прописан совершенно левый айпишник

(arping по маку не предлагать! ибо на ICMP broadcast вообще никто не отвечает)

 

пример работы:

#./lltdscan -t1300 -v          
interface eth0
101 bytes from 00:01:33:ed:54:a1 (192.168.123.12 ): time=929 ms name="XZ"
     Host ID: 00 01 ee ff 22 a1 
    Charact.: 20 00 00 00       (full-duplex)
       Media: 00 00 00 06       (Ethernet)
   Perf.cntr: 00 00 00 00 00 36 9e 99 
  Link speed: 100 Mbit/s
        Name: 31 00 43 00 
         QoS: 60 00 00 00       (802.1q-support, 802.1p-support)

found 1 hosts in 1.302 seconds

 

#lltdscan -i vlan112
interface vlan234
109 bytes from 00:e0:4c:4c:23:32 (192.168.18.2 ): time=300 ms name="pc2009"
127 bytes from 00:1d:60:35:ad:dd (192.168.13.4 ): time=601 ms name="microsof-11798c"
105 bytes from 00:0e:a6:bb:11:22 (192.168.11.8 ): time=601 ms name="kkkk"
109 bytes from 00:01:6c:b7:33:55 (192.168.33.8 ): time=623 ms name="pc2009"
115 bytes from 4c:00:10:00:f1:64 (192.168.19.46): time=903 ms name="zemlyanka"
127 bytes from 00:1f:c6:e9:19:31 (192.168.18.58): time=932 ms name="microsof-2fa310"
107 bytes from 00:e0:4c:15:49:5e (192.168.18.8 ): time=950 ms name="w0r5t"
127 bytes from 00:c0:9f:b3:53:58 (192.168.78.06): time=952 ms name="rgzkv6snijlrhln"
127 bytes from 00:0c:76:cc:52:5b (192.168.35.12): time=990 ms name="microsof-34de4d"
found 9 hosts in 3.101 seconds

 

предыстория и некоторые подробности тут: lltd scanner

код утилиты тут: http://github.com/zed-0xff/lltdscan

 

UPD: если программа понравилась, плюсание плз карму на хабре - http://zed-0xff.habrahabr.ru/ а то не хватает там разместить.

Edited by zed_0xff

Share this post


Link to post
Share on other sites
Жаль только Vista и Windows 7.

А так - классная утилита!

XP тоже.

Спасибо.

Share this post


Link to post
Share on other sites

Потестим, спасибо!

Share this post


Link to post
Share on other sites

Не знаю как в других XP, но в Professional SP3 в компонентах сетевого подключения имеется

[v] Ответчик обнаружения топологии уровня связи

 

Ну и собственно lltdscan такой компьютер находит.

Share this post


Link to post
Share on other sites

какая п'глесть

только у меня всё кроме 800 и 806 убито.

и это правильно.

Share this post


Link to post
Share on other sites

Не хотит собираться:

 make
gcc -g -I/usr/local/include -I/usr/local/include/libnet-1.1 -I/usr/include/pcap                                   -I/usr/local/include/libnet11 -g -L/usr/local/lib -L/usr/local/lib/libnet-1.1 -L                                  /opt/csw/lib -L/usr/local/lib/libnet11 -o lltdscan lltdscan.c -lnet -lpcap -lrt
lltdscan.c:5:20: error: libnet.h: No such file or directory
In file included from lltdscan.c:7:
lltd.c: In function 'lltd_dump_tlv':
lltd.c:18: warning: incompatible implicit declaration of built-in function 'strc                                  at'
lltd.c:24: warning: incompatible implicit declaration of built-in function 'strl                                  en'
lltd.c:28: warning: incompatible implicit declaration of built-in function 'strc                                  py'
lltd.c:48: warning: incompatible implicit declaration of built-in function 'strl                                  en'
lltdscan.c: At top level:
lltdscan.c:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'h                                  osts'
lltdscan.c: In function 'got_packet':
lltdscan.c:51: error: 'uint64_t' undeclared (first use in this function)
lltdscan.c:51: error: (Each undeclared identifier is reported only once
lltdscan.c:51: error: for each function it appears in.)
lltdscan.c:51: error: expected ';' before 'host_id'
lltdscan.c:56: warning: incompatible implicit declaration of built-in function '                                  memcpy'
lltdscan.c:56: error: 'host_id' undeclared (first use in this function)
lltdscan.c:59: error: 'hosts' undeclared (first use in this function)
lltdscan.c: In function 'main':
lltdscan.c:119: error: 'libnet_t' undeclared (first use in this function)
lltdscan.c:119: error: 'l' undeclared (first use in this function)
lltdscan.c:120: error: 'libnet_ptag_t' undeclared (first use in this function)
lltdscan.c:120: error: expected ';' before 'eth_ptag'
lltdscan.c:124: warning: incompatible implicit declaration of built-in function                                   'memset'
lltdscan.c:130: error: 'optarg' undeclared (first use in this function)
lltdscan.c:147: warning: incompatible implicit declaration of built-in function                                   'exit'
lltdscan.c:147: error: 'EXIT_SUCCESS' undeclared (first use in this function)
lltdscan.c:149: error: 'EXIT_FAILURE' undeclared (first use in this function)
lltdscan.c:152: error: 'optind' undeclared (first use in this function)
lltdscan.c:156: warning: incompatible implicit declaration of built-in function                                   'exit'
lltdscan.c:159: warning: incompatible implicit declaration of built-in function                                   'strlen'
lltdscan.c:161: warning: incompatible implicit declaration of built-in function                                   'exit'
lltdscan.c:176: error: 'LIBNET_LINK' undeclared (first use in this function)
lltdscan.c:179: warning: incompatible implicit declaration of built-in function                                   'exit'
lltdscan.c:190: warning: cast to pointer from integer of different size
lltdscan.c:192: warning: incompatible implicit declaration of built-in function                                   'exit'
lltdscan.c:199: warning: incompatible implicit declaration of built-in function                                   'memcpy'
lltdscan.c:205: error: 'eth_ptag' undeclared (first use in this function)
lltdscan.c:216: warning: incompatible implicit declaration of built-in function                                   'exit'
lltdscan.c:226: warning: incompatible implicit declaration of built-in function                                   'exit'
make: *** [lltdscan] Error 1

 

В чем может быть проблема?

Share this post


Link to post
Share on other sites
lltdscan.c:5:20: error: libnet.h: No such file or directory

Разве не в этом проблема?

Share this post


Link to post
Share on other sites

hiller, установите пакеты libnet* (libnet-devel, libnet-headers если есть)

Share this post


Link to post
Share on other sites

[root@t0ly-wrk ~/Soft/lltdscan/zed-0xff-lltdscan-939327bfe3b0655a5b83835acc5cd145131ea0ae]# gmake

gcc -g -I/usr/local/include -I/usr/local/include/libnet-1.1 -I/usr/include/pcap -I/usr/local/include/libnet11 -I/usr/local/include/libnet113 -g -L/usr/local/lib -L/usr/local/lib/libnet-1.1 -L/opt/csw/lib -L/usr/local/lib/libnet11 -o lltdscan lltdscan.c -lnet -lpcap -lrt

/usr/bin/ld: cannot find -lnet

gmake: *** [lltdscan] Ошибка 1

[root@t0ly-wrk ~/Soft/lltdscan/zed-0xff-lltdscan-939327bfe3b0655a5b83835acc5cd145131ea0ae]# ldconfig -r|grep '\:\-lnet'

47:-lnetgraph.3 => /usr/lib/libnetgraph.so.3

186:-lnetsnmp.16 => /usr/local/lib/libnetsnmp.so.16

187:-lnetsnmpagent.16 => /usr/local/lib/libnetsnmpagent.so.16

188:-lnetsnmptrapd.16 => /usr/local/lib/libnetsnmptrapd.so.16

249:-lnetsnmphelpers.16 => /usr/local/lib/libnetsnmphelpers.so.16

250:-lnetsnmpmibs.16 => /usr/local/lib/libnetsnmpmibs.so.16

771:-lnet-1.1.3.1 => /usr/local/lib/libnet-1.1.3.so.1

1033:-lnetgraph.1 => /usr/local/lib/compat/libnetgraph.so.1

1113:-lnetgraph.2 => /usr/local/lib/compat/libnetgraph.so.2

1194:-lnet.1 => /usr/local/lib/libnet113/libnet.so.1

[root@t0ly-wrk ~/Soft/lltdscan/zed-0xff-lltdscan-939327bfe3b0655a5b83835acc5cd145131ea0ae]#

Edited by t0ly

Share this post


Link to post
Share on other sites

t0ly, попробуйте так:

cc -g -I/usr/local/include -I/usr/local/include/libnet-1.1 -I/usr/include/pcap -I/usr/local/include/libnet11 -I/usr/local/include/libnet113 -g -L/usr/local/lib -L/usr/local/lib/libnet-1.1 -L/opt/csw/lib -L/usr/local/lib/libnet11 -L /usr/local/lib/libnet113 -o lltdscan lltdscan.c -lnet -lpcap -lrt

 

и сообщите о результате

Share this post


Link to post
Share on other sites
hiller, установите пакеты libnet* (libnet-devel, libnet-headers если есть)

Блин, сам дурак, просмотрел... Поставил -devel, все собралось. Спасибо за помощь и за программу :)

Share this post


Link to post
Share on other sites

Заметил одно интересное ограничение/странность в реализации протокола LLTDP на Windows XP, а может и на всех остальных виндюках - тоже.

 

 

Есть компьютер, который имеет несколько адресов на одной сетевушке, в результате сканирования мы видем только один из установленных на нем адресов, но вопреки логике, не тот, с которого компьютер ходит по default route, а вообше "левый".

 

 

interface ge0
115 bytes from 00:19:21:3f:f2:68 (10.90.90.144   ): time=570 ms name="buhgalter"
     Host ID: 00 19 21 3f f2 68
    Charact.: 00 00 00 00
       Media: 00 00 00 06       (Ethernet)
        IPv4: 0a 5a 5a 90
   Perf.cntr: 00 00 00 00 00 36 9e 99
  Link speed: 100 Mbit/s
        Name: 62 00 75 00 68 00 67 00 61 00 6c 00 74 00 65 00 72 00
         QoS: 00 00 00 00

Share this post


Link to post
Share on other sites

Есть компьютер, который имеет несколько адресов на одной сетевушке, в результате сканирования мы видем только один из установленных на нем адресов, но вопреки логике, не тот, с которого компьютер ходит по default route, а вообше "левый".

Все правильно, в спецификации протокола написано что возвращается либо "белый" айпишник (если есть), либо "первый попавшийся серый" (вольный перевод :)

Share this post


Link to post
Share on other sites
t0ly, попробуйте так:

cc -g -I/usr/local/include -I/usr/local/include/libnet-1.1 -I/usr/include/pcap -I/usr/local/include/libnet11 -I/usr/local/include/libnet113 -g -L/usr/local/lib -L/usr/local/lib/libnet-1.1 -L/opt/csw/lib -L/usr/local/lib/libnet11 -L /usr/local/lib/libnet113 -o lltdscan lltdscan.c -lnet -lpcap -lrt

 

и сообщите о результате

собралось

спасибо

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this