Quiz - Módulo 10: Comunicação IPC
Teste seus conhecimentos sobre comunicação entre processos!
Pergunta 1
O que significa IPC?
- A) Internet Protocol Connection
- B) Inter-Process Communication
- C) Internal Process Control
- D) Input Process Channel
Ver resposta
Resposta: B) Inter-Process Communication
IPC refere-se aos mecanismos de comunicação entre processos.
Pergunta 2
O que é um pipe (tubo)?
- A) Um vírus
- B) Um canal de comunicação unidirecional entre processos
- C) Um arquivo
- D) Um protocolo de rede
Ver resposta
Resposta: B) Um canal de comunicação unidirecional entre processos
Pipes permitem a transferência de dados entre processos.
Pergunta 3
O que é um named pipe (tubo nomeado)?
- A) Um arquivo temporário
- B) Um pipe com um nome acessível por vários processos
- C) Um vírus
- D) Um protocolo
Ver resposta
Resposta: B) Um pipe com um nome acessível por vários processos
Named pipes persistem e são acessíveis pelo nome.
Pergunta 4
Onde ficam os named pipes no Windows?
- A) C:\Pipes
- B) \.\pipe\
- C) /tmp/
- D) C:\Windows\Pipes
Ver resposta
Resposta: B) \.\pipe\
Os named pipes do Windows estão no namespace \.\pipe.
Pergunta 5
O que é um socket?
- A) Um arquivo
- B) Um ponto de comunicação de rede bidirecional
- C) Um vírus
- D) Um tipo de RAM
Ver resposta
Resposta: B) Um ponto de comunicação de rede bidirecional
Sockets permitem comunicação local ou em rede.
Pergunta 6
Qual a diferença entre TCP e UDP para sockets?
- A) Nenhuma
- B) TCP é conectado e confiável, UDP é sem conexão e rápido
- C) UDP é mais seguro
- D) TCP é mais rápido
Ver resposta
Resposta: B) TCP é conectado e confiável, UDP é sem conexão e rápido
TCP garante a entrega, UDP não garante.
Pergunta 7
O que é memória compartilhada?
- A) Um vírus
- B) Uma área de memória acessível por vários processos
- C) Um arquivo
- D) Um protocolo
Ver resposta
Resposta: B) Uma área de memória acessível por vários processos
Memória compartilhada é o meio de IPC mais rápido.
Pergunta 8
O que é um semáforo?
- A) Um vírus
- B) Um mecanismo de sincronização entre processos
- C) Um arquivo
- D) Um protocolo
Ver resposta
Resposta: B) Um mecanismo de sincronização entre processos
Semáforos controlam o acesso a recursos compartilhados.
Pergunta 9
O que é um mutex?
- A) Um vírus
- B) Mutual Exclusion - trava para apenas um processo por vez
- C) Um arquivo
- D) Um protocolo
Ver resposta
Resposta: B) Mutual Exclusion
Um mutex garante que apenas uma thread/processo acesse um recurso.
Pergunta 10
O que é um RAT?
- A) Um roedor
- B) Remote Access Trojan - trojan de acesso remoto
- C) Um protocolo oficial
- D) Um tipo de RAM
Ver resposta
Resposta: B) Remote Access Trojan
Um RAT permite que um atacante controle uma máquina remotamente.
Pergunta 11
Como um RAT geralmente se comunica?
- A) Por email
- B) Via sockets de rede (conexão reversa ou direta)
- C) Por SMS
- D) Apenas por Bluetooth
Ver resposta
Resposta: B) Via sockets de rede
RATs frequentemente usam reverse shells via TCP.
Pergunta 12
O que é um reverse shell?
- A) Um vírus de email
- B) Uma conexão onde a vítima se conecta ao atacante
- C) Um shell que inverte a ordem dos comandos
- D) Um protocolo de segurança
Ver resposta
Resposta: B) Uma conexão onde a vítima se conecta ao atacante
O reverse shell contorna firewalls iniciando a conexão de saída.
Pergunta 13
O que é um bind shell?
- A) Um vírus
- B) Um shell que escuta em uma porta, o atacante se conecta
- C) Um shell gráfico
- D) Um protocolo
Ver resposta
Resposta: B) Um shell que escuta em uma porta
O bind shell abre uma porta na vítima (geralmente bloqueado por firewalls).
Pergunta 14
Qual função do Windows cria um named pipe?
- A) CreateFile
- B) CreateNamedPipe
- C) MakePipe
- D) NewPipe
Ver resposta
Resposta: B) CreateNamedPipe
CreateNamedPipe cria um servidor de named pipe.
Pergunta 15
Qual função conecta a um named pipe?
- A) OpenPipe
- B) CreateFile com o caminho do pipe
- C) ConnectPipe
- D) JoinPipe
Ver resposta
Resposta: B) CreateFile com o caminho do pipe
Usa-se CreateFile("\\.\pipe\NomeDoPipe", ...).
Pergunta 16
O que é o modelo cliente-servidor?
- A) Um vírus
- B) Um modelo onde o servidor fornece serviços aos clientes
- C) Um arquivo
- D) Um protocolo de email
Ver resposta
Resposta: B) Um modelo onde o servidor fornece serviços aos clientes
O cliente solicita, o servidor responde.
Pergunta 17
Qual biblioteca Python é usada para sockets?
- A) os
- B) socket
- C) network
- D) tcp
Ver resposta
Resposta: B) socket
import socket permite criar sockets em Python.
Pergunta 18
Qual método do socket escuta conexões de entrada?
- A) socket.wait()
- B) socket.listen()
- C) socket.hear()
- D) socket.receive()
Ver resposta
Resposta: B) socket.listen()
listen() coloca o socket em modo de escuta.
Pergunta 19
Qual método aceita uma conexão de entrada?
- A) socket.get()
- B) socket.accept()
- C) socket.receive()
- D) socket.take()
Ver resposta
Resposta: B) socket.accept()
accept() bloqueia até uma nova conexão e retorna o socket do cliente.
Pergunta 20
Qual método envia dados via socket?
- A) socket.put()
- B) socket.send()
- C) socket.write()
- D) socket.push()
Ver resposta
Resposta: B) socket.send()
send() ou sendall() enviam dados.
Pergunta 21
Qual método recebe dados via socket?
- A) socket.get()
- B) socket.recv()
- C) socket.read()
- D) socket.pull()
Ver resposta
Resposta: B) socket.recv()
recv(buffer_size) recebe dados.
Pergunta 22
O que é localhost?
- A) Um servidor remoto
- B) O endereço da máquina local (127.0.0.1)
- C) Um vírus
- D) Um protocolo
Ver resposta
Resposta: B) O endereço da máquina local (127.0.0.1)
localhost aponta para a própria máquina.
Pergunta 23
O que é uma porta?
- A) Um arquivo
- B) Um número que identifica um serviço em uma máquina
- C) Um vírus
- D) Um cabo
Ver resposta
Resposta: B) Um número que identifica um serviço em uma máquina
Portas permitem distinguir serviços (80=HTTP, 443=HTTPS...).
Pergunta 24
Qual faixa de portas é reservada para serviços do sistema?
- A) 0-1023
- B) 1024-49151
- C) 49152-65535
- D) 0-65535
Ver resposta
Resposta: A) 0-1023
As portas 0-1023 são as portas "bem conhecidas" reservadas.
Pergunta 25
O que é serialização?
- A) Um vírus
- B) A conversão de objetos em formato transmissível
- C) Um protocolo
- D) Um tipo de RAM
Ver resposta
Resposta: B) A conversão de objetos em formato transmissível
Serialização permite enviar estruturas de dados complexas.
Pergunta 26
O que é JSON?
- A) Um vírus
- B) JavaScript Object Notation - formato de troca de dados
- C) Um protocolo de rede
- D) Uma linguagem de programação
Ver resposta
Resposta: B) JavaScript Object Notation
JSON é um formato texto leve para troca de dados.
Pergunta 27
Por que codificar dados em bytes para sockets?
- A) Por segurança
- B) Sockets transmitem bytes, não strings
- C) Para compressão
- D) É opcional
Ver resposta
Resposta: B) Sockets transmitem bytes, não strings
É necessário codificar (str.encode()) e decodificar (bytes.decode()).
Pergunta 28
O que é um deadlock?
- A) Um vírus
- B) Um bloqueio mútuo onde vários processos esperam indefinidamente
- C) Um arquivo
- D) Um protocolo
Ver resposta
Resposta: B) Um bloqueio mútuo
O deadlock ocorre quando processos ficam esperando uns pelos outros.
Pergunta 29
Como evitar race conditions?
- A) Usar mais RAM
- B) Usar mecanismos de sincronização (mutex, semáforos)
- C) Reiniciar o PC
- D) Excluir arquivos
Ver resposta
Resposta: B) Usar mecanismos de sincronização
Mutex, semáforos e locks evitam conflitos de acesso.
Pergunta 30
Qual comando lista os named pipes no Windows?
- A) dir pipes
- B) Get-ChildItem \.\pipe\ (PowerShell)
- C) list pipes
- D) show pipes
Ver resposta
Resposta: B) Get-ChildItem \.\pipe\
Get-ChildItem \\.\pipe\ ou [System.IO.Directory]::GetFiles("\\.\pipe\").
Pontuação
| Pontuação | Nível |
|---|---|
| 27-30 | Excelente! |
| 22-26 | Muito bom! |
| 17-21 | Bom |
| 12-16 | Regular |
| 0-11 | Precisa revisar |
Quiz do Módulo 10 - Comunicação IPC - 30 questões