2

Мой следующий проект состоит из Raspberry Pi, незаметно подключенного к автомобилю, который будет полезен человеку, который его подключил, и его никогда не нужно будет искать. Это подтверждение концепции, так как я просто хочу показать, что могло бы сделать правительство, если бы у всех нас когда-нибудь было радио в нашей машине.

Он запустит Kismet при загрузке и зарегистрирует точки доступа с помощью GPS-приемника. Затем по истечении указанного периода времени прекратите сканирование, подождите, пока он не обнаружит открытую беспроводную сеть (автомобиль находится в магазине, возможно, припаркован в кафе), а затем загрузите файл .isxml kismet на FTP-сервер или отправьте его по электронной почте.

Я не знаю, как выполнить последнюю часть. Как я могу остановить сканирование Kismet через определенный промежуток времени, подключиться к открытой сети и отправить по электронной почте самый последний файл журнала Kismet?

1 ответ1

2

Я чувствую твою боль!

К счастью, мне удалось сделать половину сценария, так что, надеюсь, вы можете или другие могут его использовать.

#!/bin/sh /etc/rc.common
# Kismet server init script
# Copyright (C) 2015 Springboard Research Limited

START=97
STOP=98

start() {
        echo "checking monitor interface"
        if [iw dev mon0 info | grep -q "Interface"]; then
                echo "Monitor found, deleting and recreating"
                ifconfig mon0 down
                iw dev mon0 del
                if [iw dev mon0mon info | grep -q "Interface"]; then
                        ifconfig mon0mon down
                        iw dev mon0mon del
                fi
                iw phy phy0 interface add mon0 type monitor
                echo "Bringing monitor interface online"
                ifconfig mon0 up
        else
                echo "Adding new monitor interface"
                iw phy phy0 interface add mon0 type monitor
                echo "Bringing monitor interface online"
                ifconfig mon0 up
        fi

        echo starting kismet server
        kismet_server -s -T netxml,pcap
}

stop() {
        echo "stopping kismet server"
        killall kismet_server

        echo "deleting the monitor interfaces"
        ifconfig mon0 down
        iw dev mon0 del
        ifconfig mon0mon down
        iw dev mon0mon del
}

Это довольно просто. Существует загрузочный скрипт, который запускается и запускает Kismet, если он не запущен. В сценарии мне пришлось отключить интерфейс монитора, чтобы выполнить второй сценарий, который проверяет размер файла и затем загружает файл на FTP-сервер.

#!/bin/bash

# get the latest kismet capture file in the /tmp directory

KISMETCAPFILE=$(ls -dt Kismet-* | head -1)

# TEST: echo $KISMETCAPFILE

# check the file size

KCFILESIZE=$(stat -c%s $KISMETCAPFILE)
THFILESIZE=1000000
HOST="your_ftp_server"
USER="ftp_username"
PASSWD="ftp_password"
REMOTEPATH="/"

# TEST: echo $K_C_FILESIZE

if [ ! -z $KISMETCAPFILE ]; then
   if [ ! -z $KCFILESIZE ]; then
      # check file size
      if [ $KCFILESIZE >= $THFILESIZE ]; then

      # if above threshold then stop capture
      echo "stopping the capture"
      #/etc/init.d/kiss stop

      # export file to FTP server
      echo "exporting the file to the ftp server"
      ftp -in <<EOF
       open $HOST
       user $USER$PASSWD
       cd $REMOTEPATH
       put $KISMETCAPFILE
       close
       bye
EOF

      echo "uploaded file to $HOST:$REMOTEPATH"

      # delete local file

      echo "TEST: delete local file"

      # start capture

      echo "TEST: start capture"

      fi
   fi
fi

Надеюсь, что выше помогает кому-то.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .