nespolehlivy prenos pres netcat (DELSI)
oldfrog.linux na volny.cz
oldfrog.linux na volny.cz
Čtvrtek Září 23 14:32:16 CEST 2004
Ladislav Vaiz wrote:
>Je tam videt, ze prvni strace nacetl 8k bloku dat ze standardniho vstupu,
>coz je /vmlinuz. Zapsal je do socketu 4, to je tcp spojeni s druhym
>netcatem (na trojce socketu posloucha listen()). Toto je posledni cely
>blok, dalsi read uz nacte jen 2695 bytu a posle to same mnozstvi po
>siti.
>
>Podobne druhy strace cte ze site (socket 3) a zapisuje do standardniho
>vystupu (soubor 1) v tomto pripade presmerovanem do souboru del.
>Zkontrolujte hlavne posledni write(1, ..., 2595) = 2695, jestli zapsal
>spravny pocet bytu pred zavrenim souboru.
>
>La'd"a
Vysilaci strana:
----------------
# tail data.send
bc9169c597149adc1f63c3235304eeed -
3092b241b19475fd0f25d7c9871933e9 -
f93bed37d6b72588b6940feb7bab2ad5 -
a6125ae4b59764f5b54277e3725831ab -
50218729fc40fa62f25c1cb9e682c67b -
041041c33fb340bb5fd1f04466d5c86d -
74b677899f3d4b5d240f3b46f905b5ef -
72bb946607a12544d2a510e3d9f71911 -
a17c3f38156452b35916f678e9e225ec -
85a5abf923ebf4307911a41228820dcd -
# strace -o strace.send netcat -l -p 9998 -c < data.send;
# tail strace.send
read(0, "3e463a1b -\n8176806a804887283b53"..., 1024) = 1024
write(4, "3e463a1b -\n8176806a804887283b53"..., 1024) = 1024
select(5, [0 4], [], NULL, NULL) = 1 (in [0])
read(0, "dd92eb5df25c717812073a9780ae -\n"..., 1024) = 860
write(4, "dd92eb5df25c717812073a9780ae -\n"..., 860) = 860
select(5, [0 4], [], NULL, NULL) = 1 (in [0])
read(0, "", 1024) = 0
shutdown(4, 2 /* send and receive */) = 0
close(4) = 0
exit_group(1) = ?
Prijimaci strana:
----------------
# tail data.recv
b931ac550ae1dcb22070bafaf9c1e4ac -
8acade83ecad509f6139a05d75f595c5 -
0593a6f1595ceb16683d372db6542558 -
90b9022e16a25ed700e69682662a02e2 -
4d38a1c14538ef3bc0523a6e0a75e2ad -
c94148b79f1e353d14adfc95c256f6e1 -
6072b9dd88e50f57c9f037e530826f6c -
f9544f8f1830dc029e075386531dbe36 -
3f930d5084c0bc19c569c395fc31bfe7 -
# strace -o strace.recv netcat localhost 9998 -c > data.recv;
# tail -n 16 strace.recv
read(3, "91fb43ec2907 -\n05222d289a086b99"..., 1024) = 1024
write(1, "91fb43ec2907 -\n05222d289a086b99"..., 1024) = 1024
select(4, [0 3], [], NULL, NULL) = 1 (in [3])
read(3, "68684a90a9540833038c3bf8ca066e45"..., 1024) = 1024
write(1, "68684a90a9540833038c3bf8ca066e45"..., 1024) = 1024
select(4, [0 3], [], NULL, NULL) = 1 (in [3])
read(3, 0xbfffe450, 1024) = -1 ECONNRESET (Connection
reset by peer)
dup(2) = 4
fcntl64(4, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat64(4, {st_mode=S_IFCHR|0720, st_rdev=makedev(136, 1), ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40000000
_llseek(4, 0, 0xbfffe190, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(4, "read(net): Connection reset by p"..., 36) = 36
close(4) = 0
munmap(0x40000000, 4096) = 0
exit_group(1) = ?
Vysilaci strana tedy neposle ani cely soubor. Skonci zrejme predcasne,
nevim proc.
--
------------------------------
Ondrej Nemecek alias 'OldFrog'
tel (domu): 241766035
tel (prace): 222090711
tel (mobil): 775046246
icq: 250163477
------------------------------
Další informace o konferenci Linux