Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-04-2004, 15:06   #1
DavideBerra
Junior Member
 
Iscritto dal: Jan 2004
Messaggi: 11
Socket su Solaris

Ho un problema con una macchina solaris...

La situazione e' la seguente

# netstat -nr

Routing Table: IPv4
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
172.24.12.32 172.24.12.41 U 1 89 eri0
138.132.65.0 138.132.65.141 U 1 477 eri1
224.0.0.0 138.132.65.141 U 1 0 eri1
default 138.132.65.1 UG 1 2
127.0.0.1 127.0.0.1 UH 3 579285 lo0

# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
eri0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.24.12.41 netmask ffffffe0 broadcast 172.24.12.63
ether 0:3:ba:2d:61:14
eri1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 138.132.65.141 netmask ffffff00 broadcast 138.132.65.255
ether 0:3:ba:2d:61:15

Quando vado ad aprire un socket sulla macchina e mando un messaggio verso l'indirizzo
172.24.12.36 (quindi dovrebbe passare dall'interfaccia eri0) mi ritrovo un pacchetto
UDP che contiene nella testata SOURCE ADDRESS 138.132.65.141

Ovviamente chi riceve il pacchetto non risponde in quanto ritiene quel pacchetto CORROTTO
per via dell'indirizzo di rete sbagliato

Cosa sbaglio??????????? Perche' prende l'interfaccia eri1 come default???????
DavideBerra è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2004, 20:52   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Il pacchetto non è affatto corrotto, semplicemente segue un altro instradamento. Se chi lo riceve non ha regole di routing su come smistare i pacchetti di risposta verso 138.132.65.141, semplicemente scarta le risposte.

Il tuo problema potrebbe essere dovuto all'impossibilità di instradare pacchetti su eri0 (cavo difettoso?); in questo caso, è corretto che venga tentata la successiva regola di routing ammissibile (nel tuo caso la default route). A parte questo, mi sembra tutto in ordine ed è strano che non ti funzioni...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2004, 21:26   #3
DavideBerra
Junior Member
 
Iscritto dal: Jan 2004
Messaggi: 11
Quote:
Originariamente inviato da ilsensine
Il pacchetto non è affatto corrotto, semplicemente segue un altro instradamento. Se chi lo riceve non ha regole di routing su come smistare i pacchetti di risposta verso 138.132.65.141, semplicemente scarta le risposte.

Il tuo problema potrebbe essere dovuto all'impossibilità di instradare pacchetti su eri0 (cavo difettoso?); in questo caso, è corretto che venga tentata la successiva regola di routing ammissibile (nel tuo caso la default route). A parte questo, mi sembra tutto in ordine ed è strano che non ti funzioni...
Ciao e grazie per la risposta...

purtroppo il cavo non è difettoso in quanto questo messaggio "difettoso" sulla eri1 viene prodotto in seguito alla ricezione (scambio di messaggi) sull'interfaccia eri0 (quindi sulla rete 138.x.x.x).

Mi è stato detto addirittura che Solaris a volte sceglie A CASO l'interfaccia da utilizzare. Mi sembra assurdo. Così come mi sembra assurdo che un pacchetto verso la rete 172.x.x.x passi dall'interfaccia 138.x.x.x

sicuramente c'è qualcosa che non va a livello di configurazione, ma NESSUNO riesce a dirmi cosa.

ciao e grazie ancora
DavideBerra è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2004, 21:30   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da DavideBerra
Mi è stato detto addirittura che Solaris a volte sceglie A CASO l'interfaccia da utilizzare. Mi sembra assurdo.
Ditto

Quote:
Così come mi sembra assurdo che un pacchetto verso la rete 172.x.x.x passi dall'interfaccia 138.x.x.x
In teoria, no (se le precedenti regole falliscono).
Fai una cosa, elimia la default route (e solo quella) e guarda se il traffico su eri0 torna normale.

So che per i socket udp è possibile forzare l'allocazione di una specifica porta sorgente; non so se è possibile fare lo stesso per l'ip. Darò un'occhiata domani se trovo un pò di tempo.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2004, 21:55   #5
DavideBerra
Junior Member
 
Iscritto dal: Jan 2004
Messaggi: 11
Quote:
Originariamente inviato da ilsensine
Ditto


In teoria, no (se le precedenti regole falliscono).
Fai una cosa, elimia la default route (e solo quella) e guarda se il traffico su eri0 torna normale.

So che per i socket udp è possibile forzare l'allocazione di una specifica porta sorgente; non so se è possibile fare lo stesso per l'ip. Darò un'occhiata domani se trovo un pò di tempo.
Purtroppo togliere la default route (che è un gateway che collega la rete aziendale con la rete degli elaboratori) significa perdere il collegamento con la macchina, che non è accessibile da console ma solo via telnet (per me almeno).

O magari si può ma mi manca qualche conoscenza base per poterlo fare...


Vorrei solo sapere SU CHE BASE selezione l'interfaccia "opposta" al posto di quella già collegata sulla rete giusta...
DavideBerra è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2004, 09:23   #6
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Come ti ho detto, lui consulta le regole dalla prima all'ultima; quando incontra una regola appropriata, tenta di utilizzare l'interfaccia indicata. Se non ci riesce, passa alla regola successiva.

Potrebbe anche succedere un'altra cosa: visto che per i pacchetti udp il kernel deve fare il possibile per tentare il recapito, ma senza particolari cure sulla duplicazione dei pacchetti, potrebbe decidere di mandare pacchetti udp identici sulle varie interfacce: in questo caso, se il pacchetto sulla eri0 va perso (può accadere con l'udp), arriva l'altro. Mi sembra assurdo sinceramente, ma non so se gli rfc lo consentono e se Solaris effettivamente fa così.

Non puoi usare una connessione tcp?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2004, 10:27   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Allora, per forzare un particolare indirizzo sorgente per un socket udp devi fare così (a parte la gestione errori ecc.):

Codice:
int fd;
struct sockaddr_in addr;
fd = socket(PF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = 0;
inet_aton("172.24.12.41", &addr.sin_addr);
bind(fd, (struct sockaddr *) &addr, sizeof(addr));
Quindi per trasmettere usi la normale sendto().
Non l'ho testato, ma dovrebbe funzionare.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2004, 12:05   #8
DavideBerra
Junior Member
 
Iscritto dal: Jan 2004
Messaggi: 11
Quote:
Originariamente inviato da ilsensine
Allora, per forzare un particolare indirizzo sorgente per un socket udp devi fare così (a parte la gestione errori ecc.):

Codice:
int fd;
struct sockaddr_in addr;
fd = socket(PF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = 0;
inet_aton("172.24.12.41", &addr.sin_addr);
bind(fd, (struct sockaddr *) &addr, sizeof(addr));
Quindi per trasmettere usi la normale sendto().
Non l'ho testato, ma dovrebbe funzionare.

Grazie per l'aiuto, ma facendo cosi' mi pare si fissi l'IP del destinatario e non del sorgente.
Credo che l'interfaccia da utilizzare possa solo essere selezionata dal S.O. a questo punto...



Se ho qualche news ti faccio sapere...
DavideBerra è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2004, 12:06   #9
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da DavideBerra
Grazie per l'aiuto, ma facendo cosi' mi pare si fissi l'IP del destinatario e non del sorgente.
No. Con bind setti porta e IP sorgente.
In sendto() passi porta/IP del destinatario.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
SpaceX ha confermato che Flight 14 sar&a...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
Volvo avvia la produzione dei nuovi cami...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v