Sto imparando sulla programmazione di socket TCP / IP e (Berkeley / UNIX). Diciamo che ho due scenari:
1) Scrivo due programmi in C, un client e un server, e li lego ciascuno a una porta non conosciuta sullo stesso host (Linux), e faccio esperimenti con lo scambio di dati usando le mie abilità C (principianti) .
2) Eseguo il server su Linux ed eseguo il client da un Windows che si trova sulla stessa LAN (dietro NAT). Penso che questo significhi che la porta di Windows sia "attiva aperta"? (Si noti che non conosco ancora nulla su WinSock o sul NAT.)
In ognuno di questi casi, è ipotizzabile che alcuni bot possano eseguire la scansione delle porte aperte mentre uno o entrambi i programmi sono in esecuzione dietro NAT? In tal caso, c'è un modo per un utente malintenzionato di vedere l'origine dei programmi personalizzati che sto utilizzando e sfruttare i puntatori usati male, fare sovraccarichi di buffer, ecc.? Questa è una rete domestica, e non c'è motivo per cui qualcuno possa sceglierla specificamente.