当前位置:文档之家› Progetto di Laboratorio per il corso di Programmazione in Rete e Laboratorio

Progetto di Laboratorio per il corso di Programmazione in Rete e Laboratorio

Progetto di Laboratorio per il corso di Programmazione in Rete e Laboratorio
Progetto di Laboratorio per il corso di Programmazione in Rete e Laboratorio

Progetto di Laboratorio per il corso di

Programmazione in Rete e Laboratorio

Anno Accademico2002/2003

Matteo Baldoni

Aggiornato a:May8,2003

Abstract

Queste pagine descrivono il laboratorio per il corso di Programmazione in Rete e Laboratorio per l’anno accademico2002/2003.Il presente labo-

ratorio ha come obiettivo la realizzazione di un“chat server”e del relativo

“client”gra?co.

Novit`a e modi?che:

20-2-2003:La Sezione2.5.2`e stata aggiornata con maggiori dettagli relativi alla de?nizione dei comandi eseguibili su una chat room e la gestione delle

eccezioni.

21-2-2003:Le Sezioni2.6,2.7e2.9sono in fase di ride?nizione per l’introduzione di maggiori dettagli e spiegazioni.

24-2-2003:Al metodo execCRC dell’interfaccia ChatRoomCommand,nella Sezione

2.5.2,`e stato aggiunto un parametro.

25-2-2003:Completamente riscritta la Sezione2.6.

10-3-2003:Apportate alcune semplici correzioni di errori di stampa nella Sezione2.6. 10-3-2003:Riscritta la Sezione2.7

8-5-2003:La Sezione2.4`e stata resa obbligatoria per chi sosterr`a l’esame dalla sessione di giugno-luglio in poi.

8-5-2003:La Sezione2.8`e stata introdotta come parte obbligatoria per chi sosterr`a l’esame dalla sessione di giugno-luglio in poi.

1

1Modalit`a di svolgimento e consegna del labo-ratorio

`E fortemente consigliato svolgere il laboratorio durante il corso e quindi sostenere l’esame nella prima sessione d’esame dopo il corso stesso(ci saranno due appelli in tale sessione).

1.1Iscrizione del gruppo di laboratorio

Si ricorda che per poter svolgere il laboratorio`e necessario prima di tutto is-criversi compilando l’apposito form di iscrizione al laboratorio:

https://https://www.doczj.com/doc/c52134162.html,c.di.unito.it/studenti/iscrizionelaboratori/

nel quale vanno indicati i componenti del gruppo,che possono essere al pi`u due (limite rigido!),e i loro numeri di matricola.Tale iscrizione ha il solo ed unico scopo di conoscere come sono composti i gruppi di laboratorio.

1.2Materiale da portare alla consegna del laboratorio

Alla consegna del laboratorio`e necessario allegare:

?un?oppy disk contenente il codice sorgente e compilato del progetto svolto con tutte le istruzioni necessarie ad un facile utilizzo del software stesso;

?il listato stampato del codice sorgente;

?la documentazione generata mediante javadoc(sul?oppy disk);

?i diagrammi di classe UML ed una breve relazione sul lavoro svolto.

La data della consegna corrisponde al giorno dell’esame orale dell’appello prescelto.

1.3Modalit`a d’esame

L’esame`e orale ed individuale anche se il laboratorio`e svolto in collaborazione con un’altra persona.Per sostenere l’esame ad un appello`e obbligatorio preno-tarsi on-line:

https://https://www.doczj.com/doc/c52134162.html,c.di.unito.it/studenti/

L’esame ha l’obitettivo di veri?care sia il corretto svolgimento del laboratorio che la comprensione delle parti di“teoria”introdotte durante le lezioni del corso. La veri?ca della parte di teoria avviene mediante prova https://www.doczj.com/doc/c52134162.html, prova scritta ha validit`a sino all’inizio del corso di Programmazione in Rete e Laboratorio dell’anno accademico2003/2004.Per poter discutere il laboratorio`e necessario aver superato la prova scritta.`E importante ricordare che il laboratorio potr`a essere modi?cato e/o personalizzato per chi decider`a di sostenere l’esame nelle sessioni successive alla prima(marzo/aprile2003).Per modi?che si intende an-che l’aggiunta di nuove parti da svolgere.Tali modi?che verranno pubblicizzate sulla pagina web del corso:

2

http://www.di.unito.it/?baldoni/didattica/aa0203/ProgInRete Il voto per lo scritto e per il laboratorio sar`a espresso in trentesimi.Il voto?nale sar`a formato dalla media pesata del voto della prova scritta e del laboratorio,secondo il loro contributo in CFU,e cio`e voto?nale=(voto dello scritto*2+voto del laboratorio)/3.

1.4Valitid`a del presente testo di laboratorio

Il presente testo di laboratorio vale solo?no all’inizio del corso di Program-mazione in Rete e Laboratorio dell’anno accademico2003/2004.

2Descrizione del laboratorio

Il laboratorio`e organizzato in diverse parti da svolgere in maniera incrementale. Obiettivo del laboratorio`e la realizzazione di un“chat server”e relativo“client”gra?co.Il presente testo di laboratorio`e ispirato da al tutorial on-line trovato presso la sezione developerWorks del sito dell’IBM[4].

Uno schema generale del funzionamento`e riportato in Figura1.In breve,

Figure1:Schema generale del progetto da realizzare.

le chat a de?erenza delle e-mail,consentono lo scambio in tempi ridotti di frasi e?le tra utenti che sono connessi contemporaneamente.In una chat esistono varie stanze(o canali),ognuna con un proprio nome1.In genere in ogni stanza si 1`E uso far precedere tale nome dal simbolo“#”.

3

parla di un argomento coerente con il nome del canale stesso.In ogni stamza ci sono degli utenti,contaddistinti da un soprannome2(o nick name),che operano in tale stanza scambiandosi i messaggi.

Nel presente laboratorio realizzeremo un servizio di chat che metter`a a dis-posizione una singola stanza(almeno nella versione per chi sosterr`a l’esame nella prima sessione).Si fa notare che molte delle soluzioni proposte hanno un valore puramente didattico e non sarebbero le migliori per la realizzazione di un vero chat server.

2.1Parte I:le classi User e Message

De?nire una classe User le cui istanze contengono il seguente campo:?nickName:di tipo String che rappresenta un nome simbolico di un utente (es.“matteo”).

De?nire poi una classe Message le cui istanze contenengono i seguenti campi:?from:di tipo User che indica il mittente del messaggio;

?messageText:di tipo String contenente il corpo del messaggio.

Per ogni classe si de?niscano gli opportuni costruttori.In particolare,per la classe Message si de?niscano i costruttori:

1.public Message(Utente from,String messageText)

2.public Message(String from,String messageText)

Il costruttore(2),a di?erenza del costruttore(1),dovr`a creare l’oggetto di tipo User utilizzato nell’oggetto di tipo Message a partire dalla stringa fornita come parametro.

Si de?niscano poi un metodo di tipo“get”ed uno di tipo“set”,per ogni campo presente nelle classi User e Message(e nelle classi che scriveremo in seguito!);ad esempio,per il campo from della classe Message:

?public User getFrom():restituisce l’oggetto di tipo User rappresentante il mittente del messaggio contenuto nel campo from;

?public void setFrom(User user):inizializza il campo from con il valore contenuto nel parametro user.

Si de?nisca,per ogni classe introdotta e che introdurremo in futuro,il metodo public String toString()

che restituisce una stringa che rappresenta l’oggetto stesso in formato stam-pabile su console.Ad esempio,se messaggio`e una variabile che contiente un riferimento ad un oggetto di tipo Message,allora messaggio.toString()restitu-isce una stringa che stampata dovrebbe risultare qualcosa del tipo: 2`E uso far precedere tale nome dal simbolo“@”.

4

>@matteo>

Qualcuno e’gia’andato a vedere il film

‘‘Il signore degli Anelli’’?

Vi e’piaciuto?Me lo consigliate?

<@matteo<

Si de?nisca per la classe User il metodo

public boolean equals(User user)

che restituisce true se l’utente passato come parametro ha stesso nickName dell’oggetto su cui`e invocato il metodo,false altrimenti.

Si ricordi di scegliere(sapendo giusti?carne il motivo)il tipo di visibilit`a (private?protected?public?default?)per ogni campo,metodo e classe.

In?ne si de?nisca una classe ProvaMessaggio contenente un metodo main che e?ettui il test delle classi precedentemente de?nite.

2.2Parte II:le classi Message4All e Message4U e l’inter-

faccia Allegato

2.2.1Le classi Message4All e Message4U

Un utente del nostro chat server avr`a sia la possibilit`a di inviare un messaggio a tutti gli utenti che sono collegati nello stesso momento alla stessa chat room sia la possibilit`a di inviare un messaggio ad un insieme ristretto di utenti collegati alla sua stessa chat room.

Estendere quindi la classe Message introducendo due nuove classi,la classe Message4All e Message4U.Il primo permette di speci?care messaggi indirizzati a tutti gli utenti di una certa chat room,la secanda ad un insieme ristretto.In particolare la classe Message4U estende Message permettendo la de?nizione di un insieme di destinatari(campo to di tipo User[])di un messaggio.Ride?nire quindi i metodi toString()per le nuove classi.In modo che stampandolo si speci?chi se si tratta di un messaggio pubblico o privato.

2.2.2Messaggi con allegati

Estendere la classe Messagge4All e Message4U in modo da permettere la pos-sibilit`a di includere degli allegati ad un messaggio.Per realizzare questo si de?nisca una interfaccia Attachment contenente il metodo

String toString()

e quindi si de?niscano le classi Message4AllWA e Message4UWA che estendeno, rispettivamente,la classe Message4All e Message4U aggiungendo un campo attach di tipo Attachment[].SI de?nisca nelle nuove classi i metodi“set”e “get”necessari e si ride?nisca il metodo toString()in modo da restituire una stringa che contiene anche gli attachment.

5

Fare in modo che un oggetto di tipo Message4All,Message4AllWA,Mes-sage4U e Message4UWA possa essere a sua volta un allegato di un altro mes-saggio.

Si modi?chi poi,nella classe ProvaMessaggio,il metodo main in modo da e?ettuare il test delle nuove classi.In particolare si crei un array di tipo Mes-sage[]in cui vengono memorizzati vari tipi di messaggio quindi si scriva un ciclo for per stamparli utilizzando il metodo toString().

2.3Parte III:la classe MessageBox

Si de?nisca una classe MessageBox che contenga i campi:

?owner:di tipo User che speci?ca il proprietario della casella postale;

?box:di tipo java.util.List(si scelga l’implementazione preferita,ArrayList, LinkedList,Vector ma il campo box deve essere di tipo List)che rappre-senta la coda dei messaggi ricevuti dall’utente proprietario della casella;

ed i metodi:

?“set”e“get”per il campi sopra introdotti;

?Message readMessage():,restituisce il primo oggetto di tipo Message in coda su box(il pi`u vecchio in attesa);

?void writeMessage(Message message):inserisce in coda alla casella il mes-saggio passato come parametro.

Si provi a cambiare il tipo di implementazione per il campo box(ad esempio, ArrayList anzich`e Vector)e si veri?chi che ancora tutto funzioni.

2.4Parte IV:l’interfaccia Comparabile

Si de?nisca un’interfaccia Comparabile che speci?chi il seguente metodo:

int compara(Comparabile ob)

le cui implementazioni si intende confrontino con this l’oggetto confrontabile ob restituendo-1,0o+1a seconda che this sia minore,uguale o maggiore di ob,oppure generi un’eccezione(di tipo ClassCastException)se il confronto non possibile.

Si modi?chi poi la de?nizione della classe User in modo che essa implementi l’interfaccia Comparabile,ad esempio confrontando rispetto al valore del campo nickName.Si de?nisca in una nuova classe(ad esempio SortArrays)un semplice metodo di ordinamento

void sort(Comparabile[])

6

(statico?)e quindi si testi il metodo creato su di un array di elementi di tipo User appositamente creato.

Si modi?chi la de?nizione della classe Messagge in modo che anch’essa im-plementi l’interfaccia Comparabile,ad esempio confrontando rispetto all’utentee si applichi il metodo di ordinamento sort de?nito precedentemente anche ad un array di Message(contenente anche oggetti di tipo Message4All,Message4U, Message4AllWA,Message4UWA)opportunamente creato.

Si esegua nuovamente il presente esercizio utilizzando l’interfaccia Compa-rable e la classe java.util.Arrays fornite con il Development Kit di Java al posto dell’interfaccia Comparabile e della classe SortArrays precedentemente usate.

2.5Parte V:de?nizione di una chat room e dei comandi

eseguibili

2.5.1La classe ChatRoom

Si de?nisca una classe ChatRoom contenente i campi:

?listOfMessageBox di tipo List che rappresenta l’insieme di caselle presenti nel chat server in un dato momento;

?chatRoomName che rappresenta il nome della chat room(si ricordi di de?nire i relativi metodi“set”e“get”per questo campo);

ed i metodi:

?void addUser(User user):aggiunge un nuovo utente user(quindi la sua casella,MessageBox)alla chat room;

?void removeUser(User user):rimuove un utente user(quindi la sua casella, MessageBox)dalla chat room;

?void send2All(Message4All message):consegna in ogni casella presente in quel momento(tranne quella dell’utente che ha inviato il messaggio)il messaggio message;

?void send2U(Message4U message):consegna ad ogni destinatario speci?-cato in message il messaggio message stesso;

?Message receive(User user):restituisce il pi`u vecchio messaggio nella casella dell’utente user,cancellandolo dalla coda.

Ogni metodo solleva l’opportuna eccezione se l’operazione non`e eseguibile. 2.5.2I comandi eseguibili su una chat room

Si de?nisca una interfaccia ChatRoomCommand che richieda l’implementazione del metodo

public Message execCRC(ChatRoom chatRoom,Object opt param);

7

Il parametro opt param permette,se necessario,di passare un parametro opzionale al metodo execCRC nell’eventualit`a che questo fosse utile.Quindi si de?niscano le seguenti classi che implementano l’interfaccia ChatRoomCommand,una per ogni possibile comando eseguibile su di un oggetto di tipo ChatRoomCommand:?Send2AllCRC che ride?nisce il metodo execCRC in modo da inserire l’oggetto di tipo Message2All contenuto in un campo message(de?nito durante la creazione dell’oggetto di tipo Send2AllCRC)in tutte le caselle postali presenti in quel momento(cio`e degli utenti connessi)tranne che all’utente che ha inviato il comando stesso e restituire un messaggio(il cui mittente`e la chat room stessa)contenente l’esito dell’operazione;

?Send2UCRC che ride?nisce il metodo execCRC in modo da inserire l’oggetto di tipo Message4U contenuto in un campo message(de?nito durante la creazione dell’oggetto di tipo Send2UCRC)nelle caselle postali dei desti-natari del messaggio stesso e restituire un messaggio(il cui mittente`e la chat room stessa)contenente l’esito dell’operazione;

?ReceiveCRC che ride?nisce execCRC in modo da restituire il pi`u vecchio messaggio presente nella casella postale dell’utente del campo utente di tipo User,oppure un messaggio che(il cui mittente`e la chat room stessa) segnala che si`e veri?cata una situazione di errore;

?GetConnectedUsersCRC che ride?nisce execCRC in modo da restituire un messaggio il cui mittente`e la chat room stessa ed il messagio contiene un elenco di tutti gli user collegati in quel momento,oppure un messaggio che segnala che si`e veri?cata una situazione di errore;

?GetIntoRoomCRC che ride?nisce execCRC in modo da creare una nuova casella di posta il cui proprietario`e l’utente de?nito dal campo utente di tipo User e restituire un messaggio(il cui mittente`e la chat room stessa) contenente l’esito dell’operazione;

?ExitRoomCRC che ride?nisce execCRC in modo da cancellare la casella di posta dell’utente de?nito dal campo utente di tipo User e restituire un messaggio(il cui mittente`e la chat room stessa)contenente l’esito dell’operazione;

Per esempio,la classe Send2AllCRC potrebbe essere realizzata nel seguente modo:

public class Send2AllCRC implements ChatRoomCommand{

private Message2All message;

public Send2AllCRC(Message4All message){

this.message=message;

}

public...get...

public void set...

public Message execCRC(ChatRoom chatRoom,Object opt_param){

8

Message answer=new Message();

answer.setFrom(chatRoom.chatRoomName());

try{

chatRoom.send2All(message);

answer.setMessageText(‘‘Send2AllCRC done!’’);

}catch(ChatRoomException err){

answer.setMessageText(‘‘Send2AllCRC failed:’’+err.getMessage());

}

return answer;

}

}

Le altre classi sono del tutto analoghe.

In?ne de?nire una semplice classe SimpleChatServer che crea un oggetto di

tipo ChatRoom ed invoca su di esso alcuni comandi in un metodo main.Ad

esempio,supponiamo di voler creare due utenti,@matteo e@cristina,che si

collegano e parlano attraverso il nostro chat server.Il metodo main di Sim-pleChatServer dovrebbe contenere tra le altre le seguenti istruzioni:

...

ChatRoom ChatRoom=new ChatRoom(‘‘Laboratorio di Progr.in Rete’’);

...

//creazione degli utenti nella chat room

User matteo=new Utente(‘‘@matteo’’);

User cristina=new Utente(‘‘@cristina’’);

...

//creazione del comando GetIntoRoomCRC

ChatRoomCommand getIntoRoomCRCMatteo=new GetIntoRoomCRC(matteo);

...

//esecuzione dei comandi GetIntoRoomCRC

getIntoRoomCRCMatteo.execCRC(chatRoom,null);

...

//creazione di un messaggio

Message4All mes1=new Messagge4All(matteo,"testo");

...

//creazione del comando di invio a tutti di un messaggio ChatRoomCommand send2AllCRC1=new Send2AllCRC(mes1)

...

//esecuzione dell’invio di send2AllCRC1

send2AllCRC1.exeCRC(chatRoom,null);

...

//creazione del comando di lettura di un messaggi

ChatRoomCommand receiveCRC1=new ReceiveCRC(cristina);

...

//esecuzione del comando receiveCRC1e stampa del risultato

System.out.println(receiveCRC1.execCRC(chatRoom,null));

...

9

La necessit`a di passare come parametro attuale del metodo execCRC un oggetto di tipo ChatRoom sar`a chiara nella Sezione2.6.

2.6Parte VI:creiamo un“per-thread”chat server

2.6.1Panoramica

Si realizzi un server per la gestione di un oggetto di tipo ChatRoom che metta in ascolto un socket server su una porta speci?cata.Tale server deve essere in grado di gestire pi`u client contemporaneamente.I client inviano al server oggetti di tipo ChatRoomCommand(mediante stream di oggetti),su tali oggetti il server invoca il medoto execCRC,passandogli l’oggetto di tipo ChatRoom memorizzato presso di esso ed eventuali altri parametri necessari.L’esecuzione del comando determina l’invio al client di un oggetto di tipo Message.Questo pu`o essere il risultato della corretta esecuzione del metodo execCRC oppure il messaggio restituito da una possibile eccezione(vedi Figura2).Si noti che`e importante

Figure2:Schema dell’esecuzione di un comando CRC.

gestire le eccezioni in modo da non bloccare il server in caso di errore e nello stesso tempo informare il client del malfunzionamento.Chiameremo l’attivit`a appena descritta il ciclo“ricevi-esegui-invia-ricevi”dei comandi,ciclo REIR,in breve.Tale ciclo`e discusso in dettaglio nella Sezione2.6.3.

Per ogni client,contemporaneamente all’attivit`a di gestire i comandi rice-vuti dal client,il server deve prontamente inviare al client ogni messaggio con-segnato nella sua casella(MessageBox)per la visualizzazione(vedi Figura3). Chiameremo l’attivit`a appena descritta il ciclo“leggi-invia-leggi”dei messaggi,

10

Figure3:Schema dell’invio dei messaggi letti in un MessageBox.

ciclo LIL,in breve.Tale ciclo`e discusso in dettaglio nella Sezione2.6.4.

Per ogni client sono quindi necessari due thread,uno per gestire l’attivit`a del ciclo REIR ed uno per gestire l’attivit`a del ciclo LIL,si veda la Figura4.

In[1],nelle sezioni“Esempi sui Thread”e“Socket”,possono essere scaricati gli esempi che hanno fatto da test al codice descritto nelle sezioni successive.

2.6.2La classe ChatRoomServer

Si de?nisca quindi una classe ChatRoomServer per la creazione di un server per la chat room che contenga i campi:

?port:di tipo int che speci?ca la porta su cui attivare il server;

?chatRoom:di tipo ChatRoom che contiene una chat room.

Inoltre si de?nisca il metodo:

public void runChatServer()

che crea un SocketServer e quindi si metta in attesa di un richiesta di connes-sione.All’accettazione di una connessione,crei un thread per la gestione del ciclo REIR:

public void runChatServer(){

ServerSocket s=new ServerSocket(PORT);

11

Figure4:Gestione dei cicli“ricevi-esegui-invia-ricevi”e“leggi-invia-leggi”di ogni client.

try{

while(true){

Socket socket=s.accept();

try{

new ThreadREIR(socket,chatRoom);

}catch(IOException e){

socket.close();

}

}

}finally{

s.close();

}

}

2.6.3Il thread per il ciclo“ricevi-esegui-invia-ricevi”dei comandi Il thread per la gestione del ciclo REIR`e attivato contestualmente alla ac-cettazione della connessione socket da parte del client e termina con l’esecuzione del comando ExitRoom.

Si de?nisca quindi una classe ThreadREIR per la gestione del ciclo REIR di un dato client contenente i campi:

?socket:di tipo Socket;

12

?in:di tipo ObjectInput,contenente un ObjectInputStream ottenuto da

socket:

in=new ObjectInputStream(socket.getInputStream());

?out:di tipo ObjectOutput,contenente un ObjectOutputStream ottenuto da

socket:

out=new ObjectOutputStream(socket.getOutputStream());

?chatRoom:di tipo ChatRoom,contenente la chat room a cui il ciclo REIR

fa riferimento.

Questa classe deve estendere la classe Thread e quindi ride?nire il metodo run

che contiene il ciclo REIR vero e proprio,uno schema di tale metodo potrebbe essere il seguente:

public void run(){

boolean stopRequested=false;

Message message;

ChatRoomCommand command;

while(!stopRequested){

//leggi un comando da‘in’

message=comando.execCRC(chatRoom,null);

//scrivi message su‘out’

if(comando instanceof ExitRoom)stopRequested=true;

}

}

Si ricordi di gestire anche la chiusura del socket.

2.6.4Il thread per il ciclo“leggi-invia-leggi”dei messaggi

Il thread per la gestione del ciclo LIL per un certo user pu`o essere attivato contestualmente all’aggiunta dello user nella chat room(metodo addUser di ChatRoom)e terminare alla rimozione dello user dalla chat room(metodo re-moveUser di ChatRoom).

Il ciclo LIL ha il compito di controllare continuamente il MessageBox del

suo client ed inviare i messaggi in esso inseriti dai cicli REIR di altri client(si veda la Figura5).Se non vi sono messaggi in coda il thread che gestisce il ciclo

LIL deve essere messo in attesa dell’inserimento di un messaggio.A tale?ne`e necessario modi?care il metodo readMessage di MessageBox introducento una

wait():

public synchronized Message readMessage()throws InteruptedException{ while(box.isEmpty())wait();

//operazione di lettura

}

13

Figure5:Interazione dei thread tra interfaccia gra?ca del client e del server.

Il thread`e svegliato non appena un messaggio viene inserito nella coda di mes-saggi.A tale?ne`e necessario modi?care il metodo writeMessage di Message-Box:

public synchronized void writeMessage(Message message){ //operazione di scrittura

notifyAll();

}

Per ogni oggetto MessageBox presente nella chat room`e quindi necessario attivare un thread contenente il ciclo LIL,si de?nisca quindi una classe Mes-sageBoxWithThreadLIL che estende MessageBox ed implementa Runnable con-tenente i campi:

?out:di tipo ObjectOutput che contiene lo stream di output di oggetti verso il client;

?stopRequested:di tipo boolean che permette di uscire dall’esecuzione del metodo run quando il comando ExitRoom`e eseguito;

?thisThread:di tipo Thread che contiene l’oggetto di tipo thread vero e proprio(si noti che`e necessario utilizzare l’interfaccia Runnable in quanto si desidera estendere MessageBox e quindi non`e possibile utilizzare di-rettamente la classe Thread estendendola come si`e fatto per la classe ThreadREIR).

14

Si faccia riferimento alla Sezione3.1per uno schema dettagliato della classe MessageBoxWithLIL.In particolare,questa classe deve ride?nire il metodo run che rappresenta il ciclo LIL vero e proprio:

public void run(){

while(!stopRequested)

try{

//leggi un messaggio del controllato messageBox

//e invialo al client

out.writeObjet(this.readMessage());

}

catch(InterruptedException err){

if(stopRequested)

return;

}

}

Si noti che in e?etti il comando ReceiveCRC non`e utilizzato nella soluzione suggerita,si`e liberi di trovare soluzioni alternative se lo si desidera.

In?ne`e necessario modi?care il metodo addUser al?ne di creare un oggetto di tipo MessageBoxWithThreadLIL anzich`e un semplice MessageBox:

public void addUser(User user,ObjectOutput out){

synchronized(listOfMessageBox){

MessageBox mb=new MessageBoxWithThreadLIL(user,out);

//aggiunta di mb in listOfMessageBox

}

}

Si noti che lo stream di output di oggetti out pu`o essere passato al metodo addUser attraverso il parametro opzionale del metodo execCR C del comando GetIntoRoomCRC dove la addUser`e invocata.Cio`e lo schema del metodo run della classe ThreadREIR dovrebbe diventare:

public void run(){

boolean stopRequested=false;

Message message;

ChatRoomCommand command;

while(!stopRequested){

//leggi un comando da‘in’

if(comando instaceof GetIntoRoomCRC)

message=comando.execCRC(chatRoom,out);

else

message=comando.execCRC(chatRoom,null);

//scrivi message su‘out’

if(comando instanceof ExitRoom)stopRequested=true;

}

}

15

In modo analogo la rimozione di uno user deve prevvedere anche all’interruzione dell’esecuzione del thread attivo presso un MessageBox:

public void removeUser(User user){

synchronized(listOfMessageBox){

MessageBoxWithThreadLIL mb;

//cerca la casella di user e ponila in mb

mb.requestedStop();

//rimuovi la casella di user da listOfMessageBox }

}

2.6.5Gestione delle risorse condivise

Un altro aspetto fondamentale`e la gestione corretta dell’accesso alle risorse condivise.In particolare due sono i punti a cui porre attenzione:?l’accesso alla struttura dati che mantiene gli oggetti di tipo Messagge inviati ad un certo user;

?l’accesso alla struttura dati che mantiene gli oggetti di tipo MessageBox correntemente in uso.

Nel primo caso signi?ca che l’accesso alla struttura dati box di un oggetto di tipo MessageBox deve essere garantita thread-safe.In particolare,le operazioni che rimuovo(readMessage)e aggiungono messaggi(writeMessage)in una stesso box devono essere e?ettuate in mutua esclusione se eseguite in thread diversi.

A tal?ne una semplice soluzione`e quella di dichiarare tali metodi synchronized visto che l’accesso al struttura dati box avviene esclusivamente tramite questi metodi.

Il secondo caso signi?ca che anche l’accesso alla struttura dati listOfMes-sageBox di un oggetto di tipo ChatRoom deve essere garantita thread-safe.In particolare,le operazioni che aggiugono o rimuovono un utente(addUser e re-moveUser)devono essere e?ettuate in mutua escluzione tra di loro e anche rispetto le operazioni di consegna di un messaggio nelle caselle di un utente (send2All e send2U).Anche in questo caso,una prima e semplice soluzione`e quella di dichiarare synchronized tutti i metodi della classe ChatRoom.Si noti, per`o,che in questo modo anche l’esecuzione delle operazioni di consegna di un messaggio nelle caselle di un utente eseguita su thread diversi`e e?ettuara in mutua esclusione,cosa non strettamente necessaria.Infatti,durante la con-segna,`e su?ciente garantire che due esecuzioni dell’operazione di readMessage sulla stessa casella siano eseguite in mutua esclusione,gi`a garantito dal fatto che il metodi readMessage`e dichiarato synchronized come abbiamo descritto nel primo caso.Una possibile soluzione alternativa`e descritta nella Sezione3.2.

2.7Parte VII:creiamo un client gra?co per il chat server

Si realizzi un’intefaccia gra?ca del tipo mostrata in Figura6La con?gurazione del client(IP,porta del server,informazioni dell’utente)dovrebbe essere fatta

16

Figure6:Un esempio di interfaccia client per il nostro server chat.

mediante un’opportuna?nestra di tipo“dialog”del tipo mostrata in Figura7. Tale connessione si concretizza con una apertura di un socket verso il server.

Il client gra?co deve ocuparsi contemporaneamente di due attivit`a,gestite da due diversi thread:

?l’invio dei messaggi dell’utente verso gli altri utenti della chat room;

?la visualizzazione dei messaggi inviati dagli altri utenti,chiameremo tale attivit`a il ciclo“ricevi-visualizza-ricevi”dei messaggi,ciclo RVR.

La prima attivit`a descritta pu`o essere gestita direttamente dal thread prin-cipale del client gra?https://www.doczj.com/doc/c52134162.html, pressione del bottone“Send”(quindi nel corrispon-dente metodo actionPerformed della classe che implementa l’ActionListener di tale bottone)deternima la creazione di un messaggio di tipo Message4All o Message4U a seconda del valore inizializzato nel campo“To”con testo il mes-saggio inserito in“Message to send”.Quindi un comando di tipo Send2AllCRC o Send2UCRC viene creato e inviato al server.

Il thread per la gestione del ciclo RVR`e attivato contestualmente alla richi-esta connessione(pressione del bottone“Connect”)e termina con la chiusione della connessione(pressione del bottone“Close”).Si scelga la soluzione preferita per la realizzazione del thread per la gestione del ciclo RVR:una classe sepa-rata(esempio ThreadLVL)o implementazione dell’interfaccia Runnable da parte dell’interfacia gra?ca(probabilmente questa`e la soluzione pi`u semplice).In ogni caso il seguente`e lo schema del metodo run del thread:

17

Figure7:Interfaccia gra?ca per client:?nestra di dialog per la connessione e la registrazione ad una chat room.

public void run(){

boolean stopRequested=false;

Message message;

while(!stopRequested){

//leggi un messaggio da‘in’

//se il messaggio arriva dalla chat room

//visualizza il messaggio su‘Connection console’

//altrimenti visualizza il messaggio su‘Message Display’}

}

Il thread si mette in attesa di messaggi sullo stream di input(sream di oggetti),ricevuto un messaggio,se chi invia il messaggio`e la chat room stessa allora si visualizza il testo contenuto in esso sulla“Connection console”altri-menti lo si visualizza sul“Message Display”.Si veda anche la Figura5.

2.8Parte VIII:un server per pi`u chat room

Si estenda il server realizzato sino ad ora in modo da permettere la gestionee pi`u di chat room.L’utente durante attraverso il comando GetIntoRoomCRC speci?ca la stanza in cui vuole entrare,a tal?ne si aggiunga un opportuno campo al suo costruttore.

18

Un modo semplice per realizare questa parte`e quella di sostituire la de?nizione

del campo chatRoom di tipo ChatRoom nella classe CharRoomServer(si veda la

Sezione2.6.2)con un campo chatRoom di tipo ChatRoom[].All’avvio il server

crea un certo numero de?nito di chat alle quali gli utenti potranno collegarsi.

Si pu`o quindi sostituire il prototipo del metodo execCRC dell’interfaccia Chat-RoomCommand con questo nuovo:

public Message execCRC(ChatRoom[]chatRoom,Object opt param);

e modi?care di conseguenza le implementazioni del metodo execCRC neii vari

comandi.Per esempio,la classe Send2AllCRC potrebbe essere modi?cata nel

seguente modo:

public class Send2AllCRC implements ChatRoomCommand{

private Message2All message;

...

public Send2AllCRC(Message4All message){

this.message=message;

}

public...get...

public void set...

public Message execCRC(ChatRoom[]chatRoom,Object opt_param){ Message answer=new Message();

answer.setFrom(chatRoom.chatRoomName());

try{

//‘i’e‘inizializzato con la chat room a cui l’utente e‘collegato

chatRoom[i].send2All(message);

answer.setMessageText(‘‘Send2AllCRC done!’’);

}catch(ChatRoomException err){

answer.setMessageText(‘‘Send2AllCRC failed:’’+err.getMessage());

}

return answer;

}

}

Ed in modo analogo tutti gli altri comandi.Per inizializzare la variabile‘i’si

pu`o procedere in due modi:

1.o cerco a quale stanza`e iscritto all’utente;

2.o passo tale informazione direttamente al comando quando l’utente lo crea

(passandogli il nome della chat room)e quindi vedo sul server a quale

numero corrisponde.

Altre soluzioni sono le benvenute.

2.9Parte IX:un server RMI

Questa parte non`e obbligatoria per chi sosterr`a l’esame nella ses-

sione di giugno-luglio.

19

IN FASE DI PREPARAZIONE

3Note e Commenti

3.1La classe MessageBoxWithThreadLIL

Nella piattaforma Java2i metodi stop,suspend e resume sono stati dichiarati deprecati.Il seguente schema della classe MessageBoxWithThreadLIL`e ispirata

a quanto mostrato in[2,pagina47vecchia edizione,pagina67nuova edizione]

e presenta una soluzione per permettere ad un thread di interrompere un altro thread senza ricorso al metodo stop.

public class MessageBoxWithLIL extends MessageBox implements Runnable{ private boolean stopRequested;

private Thread thisThread;

private ObjectOutput out;

public MessageBoxWithLIL(User user,ObjectOutput out){

super(user);

this.out=out;

stopRequested=false;

thisThread=new Thread(this);

thisThread.setDaemon(true);

thisThread.start();

}

public void requestedStop(){

stopRequested=true;

thisThread.interrupt();

}

public void run(){

while(!stopRequested)

try{

//gestione del ciclo LIL

}

catch(InterruptedException err){

if(stopRequested)

return;

}

}

}

20

GPS在CORS系统建设方案详细

目录 前言 (3) 第一章 CORS的产生 (4) 1.1 传统的RTK测量方式 (4) 1.1.1 传统RTK测量方式 (4) 1.1.2 传统RTK测量的局限性 (4) 1.2 CORS RTK测量方式 (5) 1.2.1 CORS技术的发展历史 (5) 1.2.2 网络CORS的主流技术 (5) 1.3 市场前景 (7) 第二章 HD-CORS系统 (8) 2.1 HD-CORS发展历程 (8) 2.2 HD-CORS系统组成 (8) 2.3 单基站托管型网络CORS (9) 2.3.1 系统组成 (9) 2.3.2 作业原理 (9) 2.3.3 应用领域 (9) 2.3.4 系统特点 (9) 2.3.5 经典用户(勘测院测量队) (10) 2.4 单基站网络CORS (10) 2.4.1 系统组成 (10) 2.4.2 作业原理 (10) 2.4.3 应用领域 (10) 2.4.4 系统特点 (11) 2.4.5 经典用户(省市勘测测绘院) (11) 2.5 多基站网络CORS (11) 2.5.1 系统组成 (11) 2.5.2 作业原理 (11) 2.5.3 应用领域 (12) 2.5.4 系统特点 (12) 2.5.5 经典用户(某城市的CORS规划方案) (12) 2.6 系统参数 (12) 2.7 系统建设方案 (13) 2.7.1 HD-CORS有线接入方式 (13) 2.7.2 HD-CORS无线接入方式 (13) 2.7.3 一体化主机参考站模式 (14) 2.7.4 分体式主机参考站模式 (14) 2.7.5 各种建设方案优缺点 (14) 2.8 系统数据处理技术 (15) 2.9 部分典型用户 (18) 第三章参考站的建设 (19) 3.1 参考站墩位的选址 (19) 3.2 参考站墩标的建设 (19)

计算机网络安全及防范策略探讨

计算机网络安全及防范策略探讨 https://www.doczj.com/doc/c52134162.html, 期刊门户-中国期刊网2009-2-11来源:《黑龙江科技信息》2008年9月下供稿文/商诺诺周欣明王东 [导读]通过对计算机网络安全威胁因素的分析,探讨了几种防范技术和策略,都有着较好的现实价值。 摘要:随着网络信息技术的发展,网络安全问题也日渐复杂。通过对计算机网络安全威胁因素的分析,探讨了几种防范技术和策略,都有着较好的现实价值。 关键词:网络安全;信息技术;防范策略 就目前而言,全世界的计算机都将通过Internet联到一起,信息安全的内涵也就发生了根本的变化。它不仅从一般性的防卫变成了一种非常普通的防范,而且还从一种专门的领域变成了无处不在,网络安全风险日渐严重和复杂。原先由单机安全事故引起的故障通过网络传给其他系统和主机,可造成大范围的瘫痪,再加上安全机制的缺乏和防护意识不强,网络风险日益加重,计算机软件、硬件的正常运行并且能够自我复制的一组计算机指令或程序代码。计算机病毒具有传染性、寄生性、隐蔽性、触发性、破坏性等特点。因此,提高对病毒的防范刻不容缓。 1 网络安全的威胁因素 归纳起来,针对网络安全的威胁主要有: 1.1软件漏洞 每一个操作系统或网络软件都不可能是无缺陷和漏洞的,这就使我们的计算机处于危险的境地,一旦连接入网,将成为众矢之的。 1.2配置不当 安全配置不当造成安全漏洞,例如,防火墙软件的配置不正确,那么它根本不起作用。对特定的网络应用程序,当它启动时,就打开了一系列的安全缺口,许多与该软件捆绑在一起的应用软件也会被启用。除非用户禁止该程序或对其进行正确配置,否则,安全隐患始终存在。 1.3安全意识不强 用户口令选择不慎或将自己的帐号随意转借他人或与别人共享等都会对网络安全带来威胁。 1.4病毒 目前数据安全的头号大敌是计算机病毒,它是编制者在计算机程序中插入的破坏计算机功能或数据,影响计算机软件、硬件的正常运行并且能够自我复制的一组计算机指令或程序代码。计算机病毒具有传染性、寄生性、隐蔽性、触发性、破坏性等特点。因此,提高对病毒的防范刻不容缓。 1.5黑客 对于计算机数据安全构成威胁的另一个方面是来自电脑黑客(Hacker)。电脑黑客利用系统中的安全漏洞非法进入他人计算机系统,其危害性非常大。从某种意义上讲,黑客对信息安全的危害甚至比一般的电脑病毒更为严重。

《重庆市社会科学规划项目申请书》

(上述内容由重庆市社会科学规划办公室填写) 重庆市社会科学规划项目 申请书 项目类别 学科分类 项目名称 项目负责人 申请人所在单位 填表日期 重庆市社会科学规划办公室 2013年5月修订 页脚内容0

申请人承诺 本人承诺对填写的各项内容的真实性负责,保证没有知识产权争议。如获准立项,本人承诺以本表作为有约束力的协议,遵守《重庆市社会科学规划项目管理办法》和重庆市社会科学规划办公室的相关规定,按计划认真开展研究工作,并取得预期研究成果。重庆市社会科学规划办公室有权使用该项目成果中的有关数据和资料。 申请人(签章): 年月日 页脚内容1

填表说明 一、年度项目类别分为重点项目、一般项目和青年项目三类。 二、学科分类选择下列一个填写:马克思主义、哲学、政治学·党建、经济学、社会学、传播学与新闻学·图书情报、教育学、文学·语言学、艺术学、法学、历史学、管理学。其他学科按相近原则归并到前述相关学科。 三、申请人所在单位填写全称,不填写二级单位。如“重庆大学”不能填“重大”,也不要写二级学院。 四、项目组成员最多9人,均应实际参加并完成部分研究工作,其中主持人1人,主研人最多4名,另外可以有最多4名项目主要参加者。 五、预期成果即最终研究成果形式,分为A.学术专著;B.系列论文;C.研究报告(含调研、咨询、论证三类),在“预期成果”后空格内填写相应字母即可。预期成果须符合《重庆市社会科学规划项目管理办法》第二十七条、第二十八条规定的数量和质量方能结项。 六、申请书(包括“项目论证活页”)用计算机填写,报送电子文档和5份纸质件。用A3纸双面印制,中缝装订。 七、“预计完成时间”建议在:××××年3月31日(6月30日;9月30日;12月31日)。 八、本申请书一经正式批准,即行生效。在执行过程中,如需修改申请书中某些条款,须按要求填报《重庆市社会科学规划项目重要事项变更审批表》,经重庆市社会科学规划办公室批准方能生效,否则视为违约。 页脚内容2

浅谈计算机网络安全策略

浅谈计算机网络安全策略 发表时间:2010-08-27T10:19:43.140Z 来源:《中外健康文摘》2010年第16期供稿作者:刘志芳[导读] 网络信息的飞速发展给人类社会带来巨大的推动与冲击,同时也产生了网络系统安全问题。 刘志芳(山东侨联医院微机室 255000)【中图分类号】R197.324 【文献标识码】A 【文章编号】1672-5085 (2010)16-0344-02 【摘要】网络信息的飞速发展给人类社会带来巨大的推动与冲击,同时也产生了网络系统安全问题。计算机网络的安全问题越来越受到人们的重视,本文简要的分析了计算机网络存在的安全隐患,并探讨了计算机网络的几种安全防范措施。总的来说,网络安全不仅仅是技术问题,同时也是一个安全管理问题。 现今高速发展的社会已经进入了21世纪,而21世纪的重要特征就是数字化、网络化和信息化,这是一个以网络为核心的信息时代。In-ternet的飞速发展给人类社会的科学与技术带来了巨大的推动与冲击,同时也产生了网络信息与安全的问题。而作为计算机网络安全的具体含义会随着使用者的变化而变化,使用者不同,对网络安全的认识和要求也就不同。因此,计算机的安全性成了人们讨论的主要话题之一。而计算机安全主要研究的是计算机病毒的防治和系统的安全。在计算机网络日益扩展和普及的今天,计算机安全的要求更高,涉及面更广。不但要求防治病毒,还要提高系统抵抗外来非法黑客入侵的能力,还要提高对远程数据传输的保密性,避免在传输途中遭受非法窃取。下面就计算机网络存在的安全隐患及相关策略进行探讨分析。 一计算机网络存在的安全隐患分析近年来随着Internet的飞速发展,计算机网络的资源共享进一步加强,随之而来的信息安全问题日益突出。据美国FBI统计,美国每年网络安全问题所造成的经济损失高达75亿美元。而全球平均每20秒钟就发生一起Internet计算机侵入事件。在Internet/Intranet的大量应用中,Internet/Intranet安全面临着重大的挑战,事实上,资源共享和安全历来是一对矛盾。在一个开放的网络环境中,大量信息在网上流动,这为不法分子提供了攻击目标。他们利用不同的攻击手段,获得访问或修改在网中流动的敏感信息,闯入用户或政府部门的计算机系统,进行窥视、窃取、篡改数据。不受时间、地点、条件限制的网络诈骗,其“低成本和高收益”又在一定程度上刺激了犯罪的增长。使得针对计算机信息系统的犯罪活动日益增多。 一般认为,计算机网络系统的安全威胁主要来自黑客攻击、计算机病毒和拒绝服务攻击三个方面。目前,人们也开始重视来自网络内部的安全威胁。黑客攻击早在主机终端时代就已经出现,随着Internet的发展,现代黑客则从以系统为主的攻击转变到以网络为主的攻击。新的手法包括:通过网络监听获取网上用户的帐号和密码;监听密钥分配过程,攻击密钥管理服务器,得到密钥或认证码,从而取得合法资格;利用UNIX操作系统提供的守护进程的缺省帐户进行攻击,如Telnet Daemon、FTP Daemon和RPC Daemon等;利用Finger等命令收集信息,提高自己的攻击能力;利用SendMail,采用debug、wizard和pipe等进行攻击;利用FTP,采用匿名用户访问进行攻击;利用NFS进行攻击;通过隐藏通道进行非法活动;突破防火墙等等。目前,已知的黑客攻击手段多达500余种。拒绝服务攻击是一种破坏性攻击,最早的拒绝服务攻击是“电子邮件炸弹”。它的表现形式是用户在很短的时间内收到大量无用的电子邮件,从而影响正常业务的运行,严重时会使系统关机、网络瘫痪。 总而言之,对Internet/Intranet安全构成的威胁可以分为以下若干类型:黑客入侵、来自内部的攻击、计算机病毒的侵入、秘密信息的泄漏和修改网络的关键数据等,这些都可以造成Internet瘫痪或引起Internet商业的经济损失等等。人们面临的计算机网络系统的安全威胁日益严重。 二计算机网络的安全策略分析计算机网络安全从技术上来说,主要由防病毒、防火墙、入侵检测等多个安全组件组成,一个单独的组件无法确保网络信息的安全性。早期的网络防护技术的出发点是首先划分出明确的网络边界,然后通过在网络边界处对流经的信息利用各种控制方法进行检查,只有符合规定的信息才可以通过网络边界,从而达到阻止对网络攻击、入侵的目的。目前广泛运用和比较成熟的网络安全技术主要有:防火墙技术、数据加密技术、防病毒技术等,主要的网络防护措施包括: 1、防火墙 防火墙是一种隔离控制技术,通过预定义的安全策略,对内外网通信强制实施访问控制,常用的防火墙技术有包过滤技术、状态检测技术、应用网关技术。包过滤技术是在网络层中对数据包实施有选择的通过,依据系统事先设定好的过滤逻辑,检查数据据流中的每个数据包,根据数据包的源地址、目标地址、以及包所使用的端口确定是否允许该类数据包通过;状态检测技术采用的是一种基于连接的状态检测机制,将属于同一连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接状态因素加以识别,与传统包过滤防火墙的静态过滤规则表相比,它具有更好的灵活性和安全性;应用网关技术在应用层实现,它使用一个运行特殊的“通信数据安全检查”软件的工作站来连接被保护网络和其他网络,其目的在于隐蔽被保护网络的具体细节,保护其中的主机及其数据。 2、数据加密与用户授权访问控制技术。 与防火墙相比,数据加密与用户授权访问控制技术比较灵活,更加适用于开放的网络。用户授权访问控制主要用于对静态信息的保护,需要系统级别的支持,一般在操作系统中实现。数据加密主要用于对动态信息的保护。对动态数据的攻击分为主动攻击和被动攻击。对于主动攻击,虽无法避免,但却可以有效地检测;而对于被动攻击,虽无法检测,但却可以避免,实现这一切的基础就是数据加密。 数据加密实质上是对以符号为基础的数据进行移位和置换的变换算法,这种变换是受“密钥”控制的。在传统的加密算法中,加密密钥与解密密钥是相同的,或者可以由其中一个推知另一个,称为“对称密钥算法”。这样的密钥必须秘密保管,只能为授权用户所知,授权用户既可以用该密钥加密信急,也可以用该密钥解密信息,DES是对称加密算法中最具代表性的算法。如果加密/解密过程各有不相干的密钥,构成加密/解密的密钥对,则称这种加密算法为“非对称加密算法”或称为“公钥加密算法”,相应的加密/解密密钥分别称为“公钥”和“私钥”。在公钥加密算法中,公钥是公开的,任何人可以用公钥加密信息,再将密文发送给私钥拥有者。私钥是保密的,用于解密其接收的公钥加密过的信息。典型的公钥加密算法如RSA是目前使用比较广泛的加密算法。 3、安全管理队伍的建设。

网络安全攻防技术讲义知识点归纳精简后汇总

第 1讲:网络安全概述 1、计算机网络:我们讲的计算机网络 , 其实就是利用通讯设备和线路将地理位置不同的、功能独立的多个计算机系统互连起来 , 以功能完善的网络软件 (即网络通信协议、信息交换方式及网络操作系统等实现网络中资源共享和信息传递的系统。它的功能最主要的表现在两个方面 :一是实现资源共享 (包括硬件资源和软件资源的共享 ; 二是在用户之间交换信息。计算机网络的作用是 :不仅使分散在网络各处的计算机能共享网上的所有资源 , 并且为用户提供强有力的通信手段和尽可能完善的服务 , 从而极大的方便用户。从网管的角度来讲 , 说白了就是运用技术手段实现网络间的信息传递 , 同时为用户提供服务。计算机网络通常由三个部分组成 , 它们是资源子网、通信子网和通信协议。所谓通信子网就是计算机网络中负责数据通信的部分 ; 资源子网是计算机网络中面向用户的部分 , 负责全网络面向应用的数据处理工作 ; 而通信双方必须共同遵守的规则和约定就称为通信协议 , 它的存在与否是计算机网络与一般计算机互连系统的根本区别。 2、计算机网络安全的定义(从狭义的保护角度来看,计算机网络安全是指计算机及其网络系统资源和信息资源不受自然和人为有害因素的威胁和危害,从广义来说,凡是涉及到计算机网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是计算机网络安全的研究领域。 3、本课程中网络安全:指网络信息系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的破坏、更改、泄露,系统能连续、可靠、正常地运行,服务不中断。 (主要指通过各种计算机、网络、密码技术和信息安全技术,保护在公有通信网络中传输、交换和存储信息的机密性、完整性和真实性,并对信息的传播及内容具有控制能力,不涉及网络可靠性、信息可控性、可用性和互操作性等领域。网络安全的主体是保护网络上的数据和通信的安全。 1数据安全性是一组程序和功能,用来阻止对数据进行非授权的泄漏、转移、修改和破坏。

CORS参考站选址的探讨

2008年12月第6卷第6期 地理空间信息 GEOSPATIAL INFORMATION Dec.,2008Vol.6,No.6 CORS 参考站选址的探讨 刘文建,阳 力 (广东省国土资源厅测绘院,广东省连续运行卫星定位系统管理中心,广东广州510500) 摘 要:简述了连续运行卫星定位服务系统(简称CORS )参考站选址的一般步骤;重点论述了CORS 参考站选址及GPS 观测数据处理分析;举例说明了CORS 参考站观测数据的要求,为CORS 参考站的选址提供了一定的参考依据。关键词:GPS ;CORS ;TEQC 中图分类号:P228.42 文献标志码:B 文章编号:1672-4623(2008)06-0053-03 ResearchonCORSReferenceStationLocation LIU Wenjian ,YANG Li (SurveyingandMappingInstitute,Lands&ResourceDepartmentofGuangdongProvince, AdministrativeCenterofGDCORS,Guangzhou510500,China) Abstract:ThegeneralmethodoflocationforContinuouslyOperatingReferenceStations(CORS)isintroduced.BoththefactorsrelatedtothelocationofReferenceStationsandtheGPSobservationprocessingareanal-yzed.Finally,someexperimentaldatasetsareshowedtoilluminatetherequirementfortheGPSobservationsofCORSreferencestations,conclusionsfromwhichwouldoffersomereferenceforthelocationofCORS referencestation. Keywords:GPS;CORS;TEQC 收稿日期:2008-08-29 1CORS参考站选址的意义 随着GPS 定位技术、网络、计算机、通讯技术的 发展,国内越来越多的城市、省份建立了或正在筹划建设自己的CORS 系统。参考站GPS 观测数据是CORS 的根本。因此,选择最佳的地理位置,以提供高质量的GPS 原始观测数据就显得极其重要了,这也正是CORS 参考站选址的意义所在。 CORS 参考站选址工作的数据观测和分析工作是一项十分严谨的工作。笔者参与了广东省连续运行卫星定位服务系统(GDCORS )29个站(GDCORS 前期深圳、东莞共9个站2005年已建成)的参考站选址及相关数据分析,总结出相关CORS 参考站选址的理论与方法。 2CORS参考站选址的原则 对于CORS 站的选址我国也有相关的标准,即《全 球导航卫星系统连续运行参考站网建设规范》(以下简称规范),它对观测环境、地质环境以及维持环境等作了具体要求。 1)观测环境:距离易产生多路径效应的地物(如 高大建筑、树木、水体、海滩和易积水地带等)的距离不小于200m ;应有10°以上地平高度角的卫星通视条件;距电磁干扰区(如微波站、无线电发射台、高压线穿越地带等)的距离不小于200m ;避开易产生振动的地带。 2)地质环境:国家参考站网的参考站应建立在稳定块体上,避开地质构造不稳定地区(如断裂带、易发生滑坡与沉陷等局部变形地区)和易受水淹或地下水位变化较大的地区;区域参考站网和专业应用站网可依据参考国家参考站网的参考站要求或依据自身特殊需求选择稳定的建站环境。 3)维持条件:便于接入公共或专用通信网络;具有稳定、安全可靠的电源;交通便利,便于人员往来和车辆运输;便于长期保存。 3CORS参考站选址步骤 根据规范,笔者认为:参考站选址工作的数据观 测和分析工作一般可按以下几个步骤进行:站点分布设计——选点踏勘——测试数据采集——观测数据处理与分析。 1 )站点分布设计。站点分布设计主要是按一定的

计算机网络信息安全防护策略

计算机网络信息安全防护策略 1加强用户安全意识 连接网络的电脑应当下载、安装并定期更新电脑维护和杀毒软件,以确保个人电脑处在相对安全的情境。另一方面,许多个人用户在上网时不加辨别,任意下载软件、点击邮件中不明来历的链接、接收即时通讯工具中陌生人传送的文件,这些都是造成计算机中毒的常见原因。因此,用户首先要做到不乱点、乱下载网络链接或文件。需要下载和更新软件时访问官方网站去完成,从而减少受骗的可能性。 2安装正版杀毒软件和防火墙 非计算机高手的个人用户不得不承认的一个事实是,凭借个人力量很难抵御病毒侵袭,因此,借助专业的软件往往能够起到事半功倍的效果。以目前最为先进的监测型防火墙为例,这是当前最新最优秀的网络安全技术,能够主动进行数据监测,并且能够同时检测网络内部和外部,“防患于未然”,因此能够最大限度地降低网络信息安全的风险。 .3及时修补系统漏洞 有些个人用户对系统漏洞不以为然,在收到升级的通知信息后,往往嫌麻烦,觉得没用而不去升级,殊不知这正是病毒感染和黑客袭击的漏洞。具体做法是,利用安全企业——例如360、瑞星——等提供的服务做好漏洞修复工作,实时更新这些防护软件获得安全补丁。对于单位用户来说则可聘请专业的安全团队来进行检测和维护,关闭不必要的端口,修复漏洞。 4做好网络通信加密工作 网络通信加密工作的完善要做好对数据完整性的鉴别、数据存储和传输的加密工作。数据完整性鉴别是指借助cookies原理比对请求方数据中的各类用户,数据比对有一个正确率作为参数,根据这一率参数进行数据反馈;对数据存储进行加密是设置密码,通过在文件读取的过程中对用户权限进和资格进行认证来保证数据安全,确保数据不会被非法破解甚至丢失。

网络安全攻防题库(附选择题)(DOC)

. 网络攻防考试资料整理书签也是目录,仔细阅读综述 Abel,Master,刘立 12/7/2010 内容概览: Part1综述 Part2选择题题库 Part3怎样布置一个办公局域网络 Part4课件框架 Part5全部课件原文 (1)感谢信安的历届前辈,这些资料都是历年积累下来的。(2)同时因为每一年的考试情况有所不同,因此这份资料和考试情况难免有所出入。(3)学习好,是平时努力,今后受益;考试好,只是一门技术。

Part1.综述 1.考试综述 1.1.引用文档里面的告诫 1.1.1.“答题的时候不用全抄原话,分重点列出 1234,每条后面加点自己简明扼要 的理解就够了” 1.1. 2.经常有这种情况 1.1. 2.1. 1.1. 2.2.一般看到内容差不多,很兴奋,就全篇的抄进去了 让同学答题的时候看准问题再抄,别抄了半天和问题对不起来 1.2.推测很可能考试具体的知识点,因此 Ctrl+F会经常用到。 1.2.1.注意使用快捷键:比如说,Foxit Reader里面,F3就是“查找下一个”; 1.2.2.注意搜索关键词:比如说题目是“拒绝服务攻击”,课件里面可能是“DoS” 或者“决绝服务的攻击”,所以需要搜索“拒绝服务”并且熟悉课件。 1.2.3.注意,同样一个名词可能在很多章节里面出现。比如“缓存区溢出”可能出 现了 50次,可能有一个小节标题是“几种类型”。因此,题目“缓存区溢出 的类型”,可能需要浏览、关键词查找相结合。 1.2.4.所以最好是熟悉一下各个课件的框架。如果查找的时候可以知道在哪一张查 找,效率会高得多,并且会减少错误。 2.题型和题目分布 2.1.选择题(见 Part2:“选择题题库”) 2.1.1.据说全部是“选择题题库”里面的原题; 2.1.2.对策:直接应用 Ctrl+F进行关键词查找; 2.2.名词解释(见 Part5:“课件 PDF格式整合”) 2.2.1.基本上是每一节课的内容出一道题目; 2.2.1.1. 2.2.2.对策:通过索引找到考点在哪一次课的课件,然后利用 Ctrl+F在 PDF里面进 行查找,F3查找下一个; 2.3.简答题(见 Part5:“课件 PDF格式整合”) 2.3.1.基本上是每一节课的内容出一道题目 2.3.2.对策:通过索引找到考点在哪一次课的课件,然后利用 Ctrl+F在 PDF里面进 行查找,F3查找下一个; 2.4.应用题(见 Part3 :“布置一个办公局域网络”) 2.4.1.很可能是布置一个办公局域网络 2.4.1.1. 2.4.1.2.要用到 DMZ,防火墙,路由器的配合要画拓扑图,说的越详细越好

重庆市户籍管理办事指南

重庆市户籍管理办事指南 第一部分户口管理 一、户口登记 (一)对下列户口申报事项,只要符合政策规定、证明材料齐全,公安派出所民警应当当场办理: 1、出生登记。 未满三周岁的新生婴儿(非婚生除外)出生登记,凭《出生医学证明》自愿选择随父或随母登记户口(父母都是高校在校学生集体户口或现役军人除外),户口登记机关凭婴儿的《出生医学证明》和父母的户口簿,在查验计划生育手续后为其办理户口登记,对无计划生育手续或者违法生育的,应当在办理完户口登记后,及时通报当地计生部门。 2、死亡登记。 凭《死亡医学证明书》或公安、司法机关出具的非正常死亡证明、人民法院宣告死亡手续和和居民户口簿、居民身份证。办理户口注销。 3、户口登记项目(姓名、性别、民族、出生日期、公民身份号码除外)的变更、更正。 由申请人提供相应的变更或更正户口项目的证明材料和居民户口簿。

4、本区县或主城区内夫妻投靠、父母与子女等直系亲属间相互投靠及因购买商品房、单位分房迁移入城镇居民户。(有未满14周岁的人员迁移的除外) 凭直系亲属关系证明和房屋产权证明、《居民户口簿》在迁入地办理。 5、公民出国(境)注销户口和回国(境)恢复户口。 凭出国定居手续注销户口和回国定居手续恢复户口。 6、公民入伍注销户口和复员、转业军人回原籍落户。 入伍,凭入伍通知书注销户口;复员、转业军人回原籍,凭复退、转业安置手续办理户口登记。 7、被注销了户口的刑满释放、解除劳教人员回原籍落户。 凭相关法律文书、决定或释放手续办理。 8、高校录取学生、高校学生转学、退学户口迁移和高校学生毕业落户。 本着迁移自愿的原则,凭录取通知书或转学、退学证明、毕业证和《户口迁移证》办理。 9、录用公务员、招收职工以及公务员、职工调动等,经组织、人事、劳动等部门批准,不需要报区、县(自治县)公安机关审批的。

浅谈“计算机网络安全及其防护策略”

浅谈“计算机网络安全及其防护策略” 内容摘要: 现如今,随着”信息时代”的到来,Internet的不断发展。伴随而来的网络信息安全问题越来越引人关注。本文将主要论述计算机网络飞速发展中出现的主题安全问题和一些实际案例。并举出主要的现代网络安全防护策略。 引言: 近年来,随着国家宏观管理和支持力度的加强、信息安全技术产业化的继续进行等因素,我国在信息安全管理上的发展是迅速的。但是。由于我国的信息化建设起步较晚。相关体系不完善,法律法规不健全等因素,导致网络安全问题频发。诸如网络数据窃密、病毒攻击、黑客侵袭等。网络hacker活动日益猖獗,他们攻击网络服务器,窃取网络机密,对社会安全造成了严重的危害。本文就如何确保网络信息安全进行安全威胁分析并且提出了实现网络安全的具体策略。 关键词:信息安全,网络安全,防护策略,黑客,病毒等。 正文: 一 : 信息安全的概念及其重要性。 目前,我国《计算机信息安全保护条例》的权威定义是:通过计算机技术和网络技术手段,使计算机系统的硬件、软件、数据库等受到保护,最大可能不因偶然的或恶意的因素而遭破坏、更改、或泄密,系统能够正常运行,使用户获得对信息使用的安全感。信息安全的目的是保护信息处理系统中存储、处理的信息的安全,它有5个基本特征:完整性、可用性、保密性、可控性、可靠性。 如今,信息技术的应用已经引起人们生产方式、生活方式和思想观念的巨大变化。信息网络系统的建立,已逐渐成为社会不可或缺的基础设施。信息已成为重要的战略资源,信息化的水平已成为衡量一个国家现代化和综合实力的重要标志。争夺控制信息权已成为国际竞争的重要内容。美国著名未来学家曾经预言:“谁掌握

常见网络攻击的手段与防范

常见网络攻击的手段与防范 侯建兵 赤峰学院计算机科学与技术系,赤峰024000 摘要:现在,Intemet上的网络攻击越来越猖獗,攻击手段也越来越先进,一旦被攻破,导致的损失也会越来越严重。如何有效地防止网络攻击已成为一个全球性的研究课题,受到全世界网络工作者的普遍重视,因此,针对黑客的网络攻击,提高网络的防护能力,保证信息安全已成为当务之急。为此本文列举了一些典型的网络攻击,将它们进行了分类,在分析其攻击原理的基础上,针对网络攻击的具体防御措施进行了 讨论和分析。 关键词:网络安全;网络攻击;安全策略;手段;措施;黑客攻击;防范技术 一.引言 随着Intemet的发展.高信息技术像一把双刃剑,带给我们无限益处的同时也带给网络更大的风险。网络安全已成为重中之重,攻击者无处不在。因此网络管理人员应该对攻击手段有一个全面深刻的认识,制订完善安全防护策略。孙子兵法上说,知己知彼,百战不殆。要想有效的防范黑客对我们电脑的入侵和破坏,仅仅被动的安装防火墙是显然不够的。我们必须对黑客的攻击方法、攻击原理、攻击过程有深入的、详细的了解,针对不同的方法采取不同的措施,做到有的放矢。只有这样才能更有效、更具有针对性的进行主动防护。 二.相关基本概念和网络攻击的特点 1.计算机网络安全的含义 从本质上来讲.网络安全包括组成网络系统的硬件、软件及其在网络上传输信息的安全性.使其不致因偶然的或者恶意的攻击遭到破坏,网络安全既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。人为的网络入侵和攻击行为使得网络安全面临新的挑战。 2. 网络攻击概念性描述 网络攻击是利用信息系统自身存在的安全漏洞,进入对方网络系统或者是摧毁其硬件设施。其目的就是破坏网络安全的各项指标,破坏扰乱对方信息系统的正常运行,致使对方计算机网络和系统崩溃、失效或错误工作。 3. 计算机网络攻击的特点 计算机网络攻击具有下述特点:(1)损失巨大。由于攻击和入侵的对象是网络上的计算机。所以一旦他们取得成功,就会使网络中成千上万台计算机处于瘫痪状态,从而给计算机用户造成巨大的经济损失。(2)威胁社会和国家安全。一些计算机网络攻击者出于各种目的经常把政府要害部门和军事部门的计算机作为攻击目标,从而对社会和国家安全造成威胁。 (3)手段多样,手法隐蔽。计算机攻击的手段可以说五花八门。网络攻击者既可以通过监视网上数据来获取别人的保密信息;也可以通过截取别人的帐号和口令堂而皇之地进入别人的

CORS站建设方案华测

C O R S站建设方案华测 The latest revision on November 22, 2020

迁安市GPS连续运行参考站 方 案 书 上海华测导航技术有限公司 中国上海

目录

前言 连续运行参考站系统(Continuous Operational Reference System,简称CORS系统)是现代GNSS发展热点之一。CORS系统将网络化概念引入到了大地测量应用中,该系统的建立不仅为测绘行业带来深刻的变革,而且也将为现代网络社会中的空间信息服务带来新的思维和模式。 CORS是由卫星定位接收机(含天线)、计算机、气象设备、通讯设备及电源设备、观测墩等构成的观测系统。它长期连续跟踪观测卫星信号,通过数据通讯网络定时、实时或按数据中心的要求将观测数据传输到数据中心。它可独立或组网提供实时、快速或事后的数据服务。而按照服务响应时间区分,CORS 系统可分为静态、准动态和实时动态三种类型。静态或准动态的CORS系统主要采用事后或准动态的精密处理技术,实时动态CORS系统主要采用实时相位差分技术(Real Time Kinematic,RTK),近年则以网络RTK技术为主要发展方向;实际上,实时动态CORS系统包含了静态或准动态的CORS系统的全部功能。 迁安市连续运行参考站系统(Qian An Continuous Operational System,以下简称QA-CORS)由参考站、数据通信、系统控制中心、用户数据中心、用户子系统五个子系统组成,各子系统通过计算机网络互联。系统的数据服务分为两种方式:第一是通过拨号服务器以无线数据通信方式向用户提供实时精密定位服务;第二是通过Internet网络向用户提供精密事后处理的数据服务。与常规RTK定位技术相比,QA-CORS技术的电离层、对流层等改正考虑较好,定位可靠性和精度较高,作用范围较大,同时最大程度上保护了用户的设备投入。 CORS技术是GNSS测量技术发展中革命性的突破,其意义不亚于由平板测量到数字化测量或常规控制测量到GNSS测量的技术革命。

重庆市公租房申请表

重庆市公共租赁住 房申请书 申请人 联系电话 重庆市公共租赁房管理局印制 填表日期:2012年 12月 14日

承诺书 本人严格遵守《重庆市公共租赁住房管理暂行办法》及 《重庆市公共租赁住房管理实施细则》的有关规定,承诺所 填写的收入、住房情况及提供的相关材料真实有效,并同意 重庆市公共租赁房管理局调查核实本人及共同申请人的工 作、收入、住房、纳税、社会保险费缴纳等情况。经审核, 填写的内容或提供的材料若有不实,自愿退出已租赁的房 屋,承租期间按公共租赁住房租金标准的 3 倍缴纳租金, 5年内不再申请公共租赁住房。 承诺人签名: 年月日

. 重庆市公共租赁住房申请表姓名性别身份证号码 工作单位单位地址 工作现状 婚姻状况申 请通讯地址人 基 本申请人类型情 况 社会保险 缴纳情况 住房公积金 缴纳情况 月收入 家庭月收入□企业□个体工商户□灵活就业□退休□机关事业单位 户籍 联系电话所在地 邮政编码 □主城区户籍城镇居民(含已转户的农村居民)□大中专院校及职校毕业生□引进人才□全国、省部级劳模□全国英模□荣立二等功以上的复转军人□其他进城务工人员□其他外地来主城区工作人员 养老□是(缴纳时间2011年 07月至今)□否 医疗□是(缴纳时间2011年 07月至今)□否 □是(缴纳时间年月至今)□否 工薪收入元,财产性收入元,共计元。 工薪收入元,财产性收入元,共计元。 申 是否在主城区□是(房屋坐落,有私有产权房建筑面积m2,户籍人数人,人均建筑面积m2)□否 请 人 是否在主城区 住□是(房屋坐落, 承租公房或 房 建筑面积m2,户籍人数人,人均建筑面积m2□否 情廉租房 ) 况 申请之日前三年内在主城区是否转让住房□是□否 地点申请居住人数1 拟申请 房屋申请方式□家庭□单身人士□合租 情况 建筑面积 户型□单间配套□一室一厅□二室一厅□三室一厅(m2)

CORS站建设实施方案--华测

迁安市GPS连续运行参考站 方 案 书

上海华测导航技术有限公司 中国上海 目录 第一章迁安市CORS连续运行参考站 (5) 1.1 概况 (5) 1.2 CORS的建设过程 (7) 第二章QA-CORS系统的整体概述 (8) 2.1系统组成 (8) 2.2技术依据 (8) 2.3工程目标 (9) 2.4系统工程容 (9) 2.5系统所具备的功能 (9) 2.6系统技术指标 (10) 2.7系统组成结构图 (10) 2.8 QA-CORS系统工作原理 (11) 第三章各子系统定义 (12) 3.1参考站准站子系统 (12) 3.1.1参考站数据结构 (12) 3.1.2参考站建设 (14) 3.2数据通信子系统 (42) 3.2.1数据通讯技术要求 (42) 3.2.2通信协议 (42) 3.2.3通讯网络 (43) 3.3控制中心子系统 (43) 3.4用户数据中心子系统 (44) 3.4.1数据中心服务器各软件系统 (44) 3.5用户子系统 (47) 第四章关键技术 (49) 4.1参考站高稳定性高精度定位技术及相应动态坐标框架的建立 (49) 4.2快速和动态GPS定位技术 (49) 4.3地震与工程形变高精度监测技术 (49) 4.4坐标系转换与高程系统转换技术 (49) 4.5系统运行完备性分析与可靠安全性监测技术 (50) 4.6多功能数据格式产生、分流、处理和服务网络管理技术 (50) 4.7系统可靠性及安全正常运行的技术 (50)

4.8为实现一台GPS接收机进行多参考站网络RTK实时定位的通信技术。 (50) 第五章QA-CORS应用围 (51) 5.1应用类型 (51) 5.1.1测绘类应用 (51) 5.1.2高精密测量 (52) 5.1.3控制测量 (52) 5.1.4大比例尺测图 (53) 5.1.5施工放样 (53) 5.1.6 GIS 数据采集 (54) 5.2非测绘类应用 (55) 5.2.1应用于交通 (55) 5.2.2应用于农业 (55) 5.2.3应用于救援 (56) 5.2.4应用于授时校频 (56) 第六章系统运行后维护及管理 (57) 6.1系统建成后的管理模式 (57) 6.2系统运转维持费 (57) 6.3商业性服务 (57) 第七章结论 (58) 附件一:参考站基本配置清单 (59)

网络安全现状及对策分析

网络安全现状及对策分析 摘要:本文以影响计算机网络安全的主要因素为突破口,重点分析防范各种不利于计算机网络正常运行的措施,从不同角度全面了解影响计算机网络安全的情况,做到心中有数,将不利因素解决在萌芽状态,确保计算机网络的安全管理与有效运行。 Abstract: The impact of computer network security a major factor as a breakthrough point, to guard against all kinds of analysis of the focus is notlunwen114 conducive to the normal operation of the computer network, from a different point of view to understand the full impact of computer network security, do a pretty good idea, will address the negative factors in the bud , To ensure the security of computer network management and effective operation. 关键词:网络系统安全权限加密 Key words: computer networks, security systems, network permissions, encryption 1、网络安全隐患分析 (1)网络系统在稳定性和可扩充性方面存在问题。由于设计的系统不规范、不合理以及缺乏安全性考虑,因而使其受到影响。 (2)网络硬件的配置不协调。一是文件服务器。它是网络的中枢,其运行稳定性、功能完善性直接影响网络系统的质量。网络应用的需求没有引起足够的重视,设计和选型考虑欠周密,从而使网络功能发挥受阻,影响网络的可靠性、扩充性和升级换代。二是网卡用工作站选配不当导致网络不稳定。 (3)缺乏安全策略。许多站点在防火墙配置上无意识地扩大了访问权限,忽视了这些权限可能会被其他人员滥用。 (4)访问控制配置的复杂性,容易导致配置错误,从而给他人以可乘之机。 (5)管理制度不健全,网络管理、维护任其自然。 2、确保网络安全防范措施分析 2.1、网络系统结构设计合理与否是网络安全运行的关键 全面分析网络系统设计的每个环节是建立安全可靠的计算机网络工程的首要任务。应在认真研究的基础上下大气力抓好网络运行质量的设计方案。在总体设计时要注意以下几个问题:由于局域网采用的是以广播为技术基础的以太网,任

CORS连续运行参考站建设项目实施计划书

CORS连续运行参考站建设项目实施计划书(最终)

目录 第一章某市CORS连续运行参考站 (5) 1.1 概况 (5) 1.2 CORS的建设过程 (7) 第二章 QA-CORS系统的整体概述 (8) 2.1系统组成 (8) 2.2技术依据 (8) 2.3工程目标 (9) 2.4系统工程容 (9) 2.5系统所具备的功能 (9) 2.6系统技术指标 (10) 2.7系统组成结构图 (10) 2.8 QA-CORS系统工作原理 (11) 第三章各子系统定义 (12) 3.1参考站准站子系统 (12) 3.1.1参考站数据结构 (12) 3.1.2参考站建设 (14) 3.2数据通信子系统 (42) 3.2.1数据通讯技术要求 (42) 3.2.2通信协议 (42) 3.2.3通讯网络 (43) 3.3控制中心子系统 (43) 3.4用户数据中心子系统 (44) 3.4.1数据中心服务器各软件系统 (44) 3.5用户子系统 (47) 第四章关键技术 (49) 4.1参考站高稳定性高精度定位技术及相应动态坐标框架的建立 (49) 4.2快速和动态GPS定位技术 (49) 4.3地震与工程形变高精度监测技术 (49) 4.4坐标系转换与高程系统转换技术 (49) 4.5系统运行完备性分析与可靠安全性监测技术 (50) 4.6多功能数据格式产生、分流、处理和服务网络管理技术 (50) 4.7系统可靠性及安全正常运行的技术 (50) 4.8为实现一台GPS接收机进行多参考站网络RTK实时定位的通信技术. (50) 第五章 QA-CORS应用围 (51) 5.1应用类型 (51) 5.1.1测绘类应用 (51) 5.1.2高精密测量 (52) 5.1.3控制测量 (52) 5.1.4大比例尺测图 (53)

计算机网络信息安全及其防护策略的研究

摘要计算机网络信息安全在国民生活中受到越来越多的关注,原因在于:许多重要的信息存储在网络上,一旦这些信息泄露出去将造成无法估量的损失。之所以网络信息会泄露出去,一方面有许多入侵者千方百计想“看”到一些关心的数据或者信息;另一方面网络自身存在安全隐患才使得入侵者得逞。针对这些问题,该文归纳并提出了一些网络信息安全防护的方法和策略。 关键词计算机网络信息安全黑客网络入侵 1 引言 近年来,伴随着互联网技术在全球迅猛发展,人们在提供了极大的方便,然而,信息化在给人们带来种种物质和文化享受的同时,我们也正受到日益严重的来自网络的安全威胁,诸如网络的数据窃贼、黑客的侵袭、病毒发布者,甚至系统内部的泄密者。尽管我们正在广泛地使用各种复杂的软件技术,如防火墙、代理服务器、侵袭探测器、通道控制机制,但是,无论在发达国家,还是在发展中国家(包括我国),黑客活动越来越猖狂,他们无孔不入,对社会造成了严重的危害。与此同时,更让人不安的是,互联网上黑客网站还在不断增加,学习黑客技术、获得黑客攻击工具变得轻而易举。这样,使原本就十分脆弱的互联网越发显得不安全。针对各种来自网上的安全威胁,怎样才能确保网络信息的安全性,尤其是网络上重要的数据的安全性。本文通过对几起典型的网络安全事件的分析,以及对威胁网络安全的几种典型方法研究的结果,提出实现防护网络安全的具体策略。 2 计算机网络信息安全面临的威胁 近年来,威胁网络安全的事件不断发生,特别是计算机和网络技术发展迅速的国家和部门发生的网络安全事件越来越频繁和严重。一些国家和部门不断遭到入侵攻击,本文列举以下事例以供分析和研究之用。 2.1事件一: 2005年7月14日国际报道英国一名可能被引渡到美国的黑客McKinnon表示,安全性差是他能够入侵美国国防部网站的主要原因。他面临“与计算机有关的欺诈”的指控,控方称,他的活动涉及了美国陆军、海军、空军以及美国航空航天局。 可以看出,一方面尽管这位黑客的主动入侵没有恶意,但是事实上对美国国防部的网络信息在安全方面造成威胁,假如这位黑客出于某种目的,那么后果将无法估量;另一方面网络技术很高的国家和部门也会被黑客成功入侵。 2.2事件二: 2005年6月17日报道万事达信用卡公司称,大约4000万名信用卡用户的账户被一名黑客利用电脑病毒侵入,遭到入侵的数据包括信用卡用户的姓名、银行和账号,这都能够被用来盗用资金。如果该黑客真的用这些信息来盗用资金的话,不但将给这些信用卡用户带来巨大的经济损失,而且侵犯了这些信用卡用户的个人隐私。 2.3事件三: 日本3家银行eBank、网络银行和瑞穗银行近日声称,有客户在不知情的情况下,存款被转账、盗领,在向银行查询后,才知道是遭黑客入侵。瑞穗银行已发生两件类似案件,遭到500万日元的损失。日本警视厅高科技犯罪对策中心接到报案后已展开调查,并从被害人的计算机中查到间谍软件,这种软件可自动记录输入计算机的资料,并透过网络传送给第三者。 入侵的黑客通常扮演以下脚色: (1)充当政治工具。非法入侵到国防、政府等一些机密信息系统,盗取国家的军事和政治情报,危害国家安全。

相关主题
文本预览
相关文档 最新文档