[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: datei zerhacken und per netcat verschicken



Hallo,

Am Fri, 13 May 2005, Martin Dickopp schrieb:
>David Haller <lists@dhaller.de> writes:
>
>>>  dd if=$1 of=- bs=584 seek=$SEEK count=1 |\
>>
>> Da fehlt die Umrechung in die Bloecke (s.u.)... Du rufst so dd fuer
>> jedes byte auf...
>
>Was meinst Du mit "Umrechung in die Blöcke"?

Das was du nicht zitiert hast. "for SEEK in `seq 0 $SIZE`"
d.h. fuer jedes Byte der Eingabedatei wird das dd aufgerufen.

>Dieser Befehl führt eine einzige Leseoperation aus, in der er 584 Bytes
>liest. Fehlerhaft ist allerdings, daß "seek" nicht im Input, sondern im
>Output Blöcke überspringt. Gemeint war wohl "skip".

Stimmt.

>> BLKSZ=584
>> [...]
>>     dd if="$1" bs="$BLKSZ" seek="$seek" count=1 | \
>
>Abgesehen vom fehlenden "of=-", Unterschieden im Quoting und unter-
>schiedlichen Variablennamen unterscheidet sich das nicht von der Zeile,
>die Du kritisiert hattest.

Du hast's wieder nicht zitiert.

Jetzt also nochmal richtig:

====
BLKSZ=584
SIZE=`wc -c < "$1"`
BLOCKS=`echo "($SIZE / $BLKSZ)" | bc` ### das hier ist der
                                      ### Unterschied. Da seq ab 0
                                      ### kann das "+1" doch wegfallen.

for skip in `seq 0 $BLOCKS`; do
    dd if="$1" bs="$BLKSZ" skip="$skip" count=1 | \
        netcat -u -q 0 127.0.0.0 2006 || break
done
====

-dnh

-- 
NT is the only OS that has caused me to beat a piece of hardware to death
with my bare hands.                                      -- Derry Hamilton



Reply to: