Можно ли построить псевдо-сетевой интерфейс из потока pcap? - PullRequest
0 голосов
/ 10 марта 2019

Поскольку у меня возникают проблемы с передачей модифицированной версии pcap-stream по каналу в инструмент анализа сети для онлайн-проверки, я нахожусь в поиске решения, позволяющего поместить данные сети в другой путь к инструменту. , Моя идея была, если возможно создать псевдо-сетевой интерфейс из собранного pcap-потока. К сожалению, я не знаю, будет ли это возможно;) Справочная информация:

#!/bin/bash

# This is the address of the router
FRITZIP=http://fritz.box

# Lan Interface  2-1 1.Internet, 3-17 internet, (1-lan lan), 2-0 WAN
IFACE="3-17"


# Required: You must create & switch your Fritz!Box to usernamed-based login authentification!
FRITZUSER=$1
FRITZPWD=$2

SIDFILE="/tmp/fritz.sid"

if [ -z "$FRITZPWD" ] || [ -z "$FRITZUSER" ]  ; then echo "Username/Password empty. Usage: $0 <username> <password>" ; exit 1; fi

echo "Trying to login into $FRITZIP as user $FRITZUSER"

if [ ! -f $SIDFILE ]; then
  touch $SIDFILE
fi

SID=$(cat $SIDFILE)

# Request challenge token from Fritz!Box
CHALLENGE=$(curl -k -s $FRITZIP/login_sid.lua |  grep -o "<Challenge>[a-z0-9]\{8\}" | cut -d'>' -f 2)

# Very proprieatry way of AVM: Create a authentication token by hashing challenge token with password
HASH=$(perl -MPOSIX -e '
    use Digest::MD5 "md5_hex";
    my $ch_Pw = "$ARGV[0]-$ARGV[1]";
    $ch_Pw =~ s/(.)/$1 . chr(0)/eg;
    my $md5 = lc(md5_hex($ch_Pw));
    print $md5;
  ' -- "$CHALLENGE" "$FRITZPWD")
  curl -k -s "$FRITZIP/login_sid.lua" -d "response=$CHALLENGE-$HASH" -d 'username='${FRITZUSER} | grep -o "<SID>[a-z0-9]\{16\}" | cut -d'>' -f 2 > $SIDFILE
  #-d 'username='${FRITZUSER}
SID=$(cat $SIDFILE)

# Check for successfull authentification
if [[ $SID =~ ^0+$ ]] ; then echo "Login failed. Did you create & use explicit Fritz!Box users?" ; exit 1 ; fi

echo "Capturing traffic on Fritz!Box interface $IFACE ..." 1>&2

# In case you want to use tshark instead of ntopng
#wget --no-check-certificate -qO- $FRITZIP/cgi-bin/capture_notimeout?ifaceorminor=$IFACE\&snaplen=1600\&capture=Start\&sid=$SID | /usr/bin/tshark -r -

wget --no-check-certificate -qO- $FRITZIP/cgi-bin/capture_notimeout?ifaceorminor=$IFACE\&snaplen=1600\&capture=Start\&sid=$SID | ntopng -i -

Может быть, есть и другой инструмент анализа сетевого трафика, который может обрабатывать модифицированную версию pcap в качестве конвейерного ввода - на данный момент я не нашел его.

Fritzbox, к сожалению, не может управлять зеркалированием портов.

Я не уверен, что это будет возможно, но, поскольку я помню, что Linux может делать больше, чем иногда можно увидеть на первый взгляд, я надеюсь на некоторые подсказки. Надеюсь, моя идея не полная фигня;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...