내 다음 프로젝트는 자동차에 은밀하게 연결된 Raspberry Pi를 연결한 사람을 위해 워드라이브하고 결코 회수할 필요가 없는 것으로 구성됩니다. 언젠가 우리 모두의 차에 WiFi 라디오가 있으면 정부가 무엇을 할 수 있는지 보여주고 싶기 때문에 이것은 개념 증명입니다.
부팅 시 Kismet을 시작하고 GPS 수신기를 사용하여 액세스 포인트 위치를 기록합니다. 그런 다음 지정된 시간 후에 스캔을 중지하고 개방형 무선 네트워크(자동차는 문구류이거나 커피숍에 주차되어 있음)를 찾을 때까지 기다린 다음 kismet .netxml 파일을 FTP 서버에 업로드하거나 이메일로 보냅니다.
마지막 부분을 어떻게 완료해야 할지 모르겠습니다. 일정 기간이 지나면 Kismet 스캐닝을 중지하고 개방형 네트워크에 연결하고 최신 Kismet 로그 파일을 이메일로 보낼 수 있는 방법은 무엇입니까?
답변1
나는 너의 고통을 느낀다!
고맙게도 나는 스크립트의 절반을 완성했으므로 여러분이나 다른 사람들이 그것을 사용할 수 있기를 바랍니다.
#!/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
위의 내용이 누군가에게 도움이 되기를 바랍니다.