quinta-feira, 15 de setembro de 2011

Mais edições imperdíveis da Scientific American Brasil

Complementando o artigo "Edições imperdíveis da Scientific American Brasil" (http://dan-scientia.blogspot.com/2010/11/edicoes-imperdiveis-da-scientific.html), no qual recomendei a leitura de algumas edições especiais da revista Scientific American Brasil, retorno com mais recomendações de leituras.

A edição número 29 (Outubro de 2004), que apesar de ser uma edição regular foi lançada como uma edição especial, do centenário dos artigos que revolucionaram a física e trouxe como tema "Einstein e o Futuro", completamente com artigos da área de física e cosmologia.

Einstein e o Futuro - Edição nº 29

Paralelamente as edições especiais, a Scientific American Brasil lançou as edições denominadas "Gênios da Ciência" e a edição número 6 trouxe como tema "Einstein - O olhar da relatividade", com artigos relacionados as fabulosas colaborações de Albert Einstein para a ciência.

Einstein - O olhar da relatividade - Gênios da Ciência - Edição nº 06

Com base em material da revista Astronomy, a Scientific American Brasil lançou a edição temática "Via Láctea", recheada de artigos relacionados a galáxia que abriga o Sistema Solar.

Via Láctea - Especial Temática - Astronomy - Edição nº 01

Concluindo esta postagem, mais edições especiais da Scientific American Brasil trazem artigos sobre astronomia antropológica, matemática antropológica e cosmologia.

Etnoastronomia - Edição especial nº 14

Etnomatemática, 2ª edição - Edição especial nº 35

A longa história do Universo - Edição especial nº 41

quarta-feira, 14 de setembro de 2011

Tcpdump, cópia do tráfego de uma rede

Computadores em rede compartilham canais de comunicação. Nestes canais compartilhados, computadores podem receber informações enviadas para outros computadores. A ação de capturar informações destinadas para uma outra máquina é chamada "sniffing".

Um "analisador de protocolo de rede", ou "sniffer", é um dispositivo que permite "ouvir" o tráfego de uma rede, isto é, capturar as informações. Um sniffer permite interceptar o tráfego de dados de um segmento de uma rede.

Um computador está em modo promíscuo quando o mesmo captura todos os pacotes, independentemente de serem ou não destinados à ele. Um sniffer coloca a interface de rede em modo promíscuo, com o intuito de capturar todos os pacotes de um determinado segmento.

Conforme o fluxo de dados trafega na rede, o sniffer captura cada pacote, decodifica e analisa o seu conteúdo de acordo com o protocolo. A maioria dos protocolos de Internet faz as informações trafegarem de forma transparente, quer dizer, de maneira não criptografada. Todas as informações enviadas ou recebidas podem ser interceptadas se o conteúdo não estiver criptografado.

Quando os protocolos da camada de aplicação são implementados sobre uma camada suplementar SSL ou TLS, situada entre a camada de aplicação e a camada de transporte, os dados são transmitidos através de uma conexão criptografada. Desta forma, todo o tráfego torna-se ilegível.

Os sniffers mais conhecidos para o sistema Linux são o Tcpdump, Snort, Wireshark e Kismet. O Tcpdump, assim como os outros, exibe a descrição do conteúdo dos pacotes e é capaz de salvar os dados dos pacotes para análise posterior, pela linha de comando. A ferramenta Tcpdump utiliza uma biblioteca específica para a captura de tráfego, a libpcap. As principais ferramentas de análise de tráfego de rede são compatíveis com o formato pcap.

Com o Tcpdump é possível capturar, copiar e exibir detalhes dos pacotes que trafegam em uma rede. Se o comando 'tcpdump' for executado sem opções, serão capturados todos os pacotes trafegados pela primeira interface de rede ativa e exibidos na tela do terminal. Exemplo:

# tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:29:48.173109 IP 192.168.1.101.52423 > bs-in-f104.1e100.net.http: Flags [P.], seq 306271009:306271660, ack 1715067849, win 286, options [nop,nop,TS val 10553603 ecr 469407516], length 651
13:29:48.174608 IP 192.168.1.101.45494 > cache-orion.neoviatelecom.com.br.domain: 34718+ PTR? 104.163.233.64.in-addr.arpa. (45)
13:29:48.244368 IP bs-in-f104.1e100.net.http > 192.168.1.101.52423: Flags [.], ack 651, win 193, options [nop,nop,TS val 469428829 ecr 10553603], length 0
13:29:48.389694 IP cache-orion.neoviatelecom.com.br.domain > 192.168.1.101.45494: 34718 1/0/0 PTR bs-in-f104.1e100.net. (79)
13:29:48.390008 IP 192.168.1.101.43215 > cache-orion.neoviatelecom.com.br.domain: 5324+ PTR? 101.1.168.192.in-addr.arpa. (44)

As opções básicas para a linha de comando do Tcpdump são:

-D       Exibe a lista das interfaces de rede disponíveis e suportadas pelo tcpdump
-w       Escreve os pacotes raw em um arquivo, ao invés de analisá-los e exibi-los em tela
-r       Lê os pacotes do arquivo
-i eth0  Escutar a interface de rede especificada
-v       Quando analisar e exibir, produzir uma saída mais detalhada
-l       Armazena a saída padrão em buffer. Útil se desejar ver os dados enquanto captura.
-n       Não converter endereços de hosts para nomes
-c n     Sair após receber n pacotes
-x       Exibe os dados de cada pacote em hexadecimal (-xx c/ endereço físico)
-X       Exibe os dados de cada pacote em hexadecimal e ASCII (-XX c/ endereço físico)

O Tcpdump permite a utilização de filtros para capturar somente aqueles pacotes que estamos buscando dentre os milhares de pacotes que trafegam por uma ou outra interface de rede.

Com Tcpdump podemos usar expressões para filtrar o tráfego que desejamos capturar. Estas expressões são definidas por palavras reservadas (primitivas) e operadores lógicos para selecionar um determinado tráfego de rede. Algumas das palavras reservadas são:

- Tipo: host, net, port e portrange;
- Direção: src, dst, src or dst, src and dst etc.;
- Protocolo: ether, wlan, ip, tcp, udp, arp, rarp etc.;
- Operadores lógicos: and, or, not.

O tipo qualifica o que o nome ou número se refere, por exemplo:

host orion
net 10.42.42.0/24
port 80
portrange 5000-5600

A direção qualifica o sentido da transferência para e/ou saindo, por exemplo:

src net 172.16
dst host 192.168.1.1
src or dst port ftp-data

O protocolo restringe a busca para um protocolo em particular, por exemplo:

ether src orion
arp net 128.3
tcp port 21

Os operadores lógicos servem para criar expressões complexas no filtro, combinando as palavras reservadas:

host orion and not port 21 and not port 20
tcp dst port ftp or ftp-data or domain
tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain

Observação: a página manual do 'pcap-filter' traz toda a sintaxe para o "packet filter".

Exemplos de uso do Tcpdump:

# tcpdump -D

# tcpdump -i eth0 -n -v -c 1000

# tcpdump -i wlan0 -w rede.dump

# tcpdump src or dst host 192.168.1.100 -r rede.dump

# tcpdump -i eth0 src 192.168.110.241 and dst 192.168.110.17 and not port 110

Por padrão, em sua saída, o comando 'tcpdump' exibe uma linha de texto para cada pacote capturado. Esta linha mostra informações do pacote, não é o pacote em si. O pacote fica armazenado apenas no arquivo '.pcap', binário. A saída do Tcpdump depende do protocolo especificado e das opções utilizadas.

Breve descrição dos campos da saída do Tcpdump (pacote TCP):

- timestamp: o horário em que o pacote foi capturado;

- protocolo: ip, ip6, arp, rarp, atalk, aarp, ...;

- origem > destino: endereço e porta da origem e do destino;

- flag: bits de controle ativados no octeto 13 do cabeçalho. Uma combinação de S (SYN), F (FIN), P (PUSH), R (RST), W (ECN CWR), E (ECN-Echo), ou ponto '.' se não há.

Outros campos podem existir dependendo do conteúdo do cabeçalho. Exemplo:

10:09:18.773058 IP 192.168.1.12.44155 > 192.168.1.11.http: Flags [S], cksum 0x10e4 (correct), seq 2019111244, win 5840, options [mss 1460,sackOK,TS val 738741 ecr 0,nop,wscale 6], length 0

Quando o Tcpdump encerra a captura de pacotes, é exibida a contagem de:

- pacotes capturados: número de pacotes recebidos e processados;

- pacotes recebidos pelo filtro: depende do S.O., pode incluir pacotes que não passaram no filtro, ou que passaram mas não foram processados, ou que passaram e foram processados;

- pacotes abandonados pelo kernel: número de pacotes que foram abandonados devido a falta de espaço em buffer.

O sniffer coloca a interface em modo promíscuo, para capturar os pacotes de um determinado segmento de rede. Assim, para o Tcpdump ter permissão de ler os pacotes através de uma interface de rede, o mesmo deve ser executado com privilégios de administrador. Entretanto, ler um arquivo '.pcap', com pacotes salvos, não requer privilégios de administrador.

sábado, 10 de setembro de 2011

Criando uma imagem com sistema de arquivos virtual

Em um sistema operacional Linux é fácil criar um arquivo imagem contendo um sistema de arquivos virtual. Os sistemas de arquivos em arquivos de imagem, no Linux, podem ser facilmente montados e utilizados como qualquer outra unidade de armazenamento.

Para criar um arquivo imagem, que será usado como sistema de arquivos virtual, podemos usar a ferramenta dd, comum em todas as instalações de Linux. O exemplo de uso da ferramenta dd apresentado a seguir cria um arquivo de 500 MB, com conteúdo zerado:

dd if=/dev/zero of=unidadeimagem bs=1M count=500

Após este passo é necessário criar o sistema de arquivos no arquivo imagem gerado pela ferramenta dd, procedimento conhecido como "formatar". Para isto usa-se a ferramenta mke2fs, para criar um sistema de arquivos nativo do Linux. O exemplo apresentado a seguir cria o sistema de arquivos ext4. O parâmetro -F força a ação pois o arquivo imagem não é uma partição em um disco:

mke2fs -t ext4 -F unidadeimagem

Para utilizar esta unidade de armazenamento virtual é necessário montá-la. O exemplo apresentado a seguir monta o arquivo imagem no caminho /mnt/imagem/. Note que o arquivo imagem está sendo montado via dispositivo de loop, requerido neste tipo de operação:

mount -t ext4 -o loop unidadeimagem /mnt/imagem/

Todo este recurso não está restrito apenas aos sistemas de arquivos nativos do Linux, é possível formatar criando sistemas nativos do DOS/Windows (FAT ou NTFS).

Os exemplos a seguir ilustram os comandos para os sistemas de arquivos FAT32 e NTFS. O parâmetro -F na ferramenta mkdosfs especifica o tipo da tabela de alocação (no exemplo 32 bit) e na ferramenta mkntfs tem a mesma função da ferramenta mke2fs, forçar a ação:

mkdosfs -F 32 unidadeimagem
mount -t vfat -o loop unidadeimagem /mnt/imagem/

mkntfs -F unidadeimagem
mount -t ntfs-3g -o loop unidadeimagem /mnt/imagem/

Quando montados, estes arquivos imagem podem ser usados normalmente como qualquer unidade de armazenamento real. As operações de criação e cópia de arquivos são executadas normalmente e seu conteúdo é mantido entre os procedimentos de desmontagem e montagem.

Podemos compará-los aos discos virtuais usados em ferramentas de virtualização, onde são instalados sistemas operacionais para sua execução em um ambiente virtual.

Conceitos semelhantes são utilizados em segurança da informação, ferramentas como o TrueCrypt são capazes de criar arquivos imagens e criptografar todo o conteúdo armazenado.

O uso de arquivo imagem com sistema de arquivos virtual é amplo, atendendo diversas operações no mundo da informática.

sexta-feira, 9 de setembro de 2011

Conversor de texto para código Morse em áudio

Um programinha simples, existente desde 2007 e que ganhou novas versões agora em 2011, tem um propósito bem divertido. O ebook2cw é um programa de linha de comando capaz de converter um arquivo de texto puro (ISO 8859-1 ou UTF-8) para código Morse, em um arquivo de áudio MP3 ou OGG.

O ebook2cw está disponível pelo endereço http://fkurz.net/ham/ebook2cw.html e funciona em diversas plataformas, incluindo Windows, Linux, FreeBSD e Mac OS X.

Para compilar o fonte deste programa são necessárias as bibliotecas de desenvolvimento do Lame e Ogg/Vorbis. Estão disponíveis também os arquivos binários executáveis nas principais plataformas e uma interface gráfica é fornecida à parte.

Em sua execução é possível modificar alguns parâmetros, por exemplo, pela linha de comando os parâmetros -s samplerate e -b bitrate especificam a taxa de amostragem e a taxa de bits. Em sua página na Internet existe um manual de operação.

O resultado é muito bom e o autor do ebook2cw utiliza o programa para converter os livros fornecidos pelo Projeto Gutenberg.

domingo, 28 de agosto de 2011

Problema de Lógica: Quantos ovos na granja?

Um granjeiro, ao ser perguntado quantos ovos as galinhas haviam posto naquele dia, respondeu: Não sei, mas, contando de dois em dois, sobra um; contando de três em três, sobra um; contando de cinco em cinco, sobra um; porém, contando de sete em sete não sobra nenhum. Qual o menor número possível de ovos que as galinhas haviam posto?





RESPOSTA





O número não é múltiplo de dois, de três ou de cinco mas é múltiplo de sete.

Os múltiplos de sete são 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105, 112, 119 ...

Como não é múltiplo de dois então os números pares estão fora, como não é múltiplo de três então os números 21, 63 e 105 estão fora, e como não é múltiplo de cinco então os números 35 e 70 estão fora. Restaram os números 7, 49, 77, 91, 119 (...).

Destes, os números 7, 49 e 77, se contar de cinco em cinco sobram 2, 4 e 2 respectivamente, portanto o menor número possível de ovos é 91 (2 x 45 + 1; 3 x 30 + 1; 5 x 18 + 1; 7 x 13).

domingo, 7 de agosto de 2011

Emulando o CP 400 no MESS

O CP 400 foi um computador pessoal, pra uso doméstico, produzido no Brasil na década de 1980 pela Prológica. Era compatível com o TRS-80 Color Computer da Tandy RadioShack.

A segunda versão, o CP 400 Color II, lançado no final de 1985, possuía como características técnicas um microprocessador Motorola 6809E com estrutura interna de 16 bits e externa de 8 bits, frequência de clock de 1,6 MHz, ROM de 16 Kbytes com programa monitor e interpretador Basic, RAM total de 64 Kbytes e vídeo no modo texto de 16 linhas por 32 colunas e no modo gráfico com resolução de 49152 pontos (256x192).

O CP 400 Color II tinha um teclado com 59 teclas tipo ASCII incorporado ao gabinete, uma saída de RF para ligação a uma TV e saída para monitor de vídeo composto. Além de saídas para joysticks, porta serial, porta para gravador cassete e suportava cartuchos e controlador de disquetes de 5 1/4.

Computador CP 400 Color II

Sua produção durou pouco devido a chegada do MSX, foi encerrada em 1987, entretanto a diversidade de aplicativos e jogos foi grande. Diversas empresas importaram os jogos do TRS-80 e comercializaram aqui no Brasil, com isso era fácil encontrar cópias "alternativas" dos programas.

Hoje, 26 anos depois, podemos utilizar os softwares emuladores para reproduzir o ambiente do CP 400 e assim executar os jogos que foram sucesso na época. Um emulador bem interessante é o MESS (http://www.mess.org/). O MESS é capaz de emular muitos consoles de jogos e sistemas de computador. Este artigo descreve o uso do MESS no sistema Linux.

Para que um emulador consiga reproduzir o ambiente de um computador antigo, são necessários basicamente dois itens, uma ROM da máquina real e um arquivo imagem de algum dispositivo de armazenamento que o computador antigo suportava, contendo os programas que deseja executar.

Estes arquivos, tanto a ROM quanto imagens de programas, são facilmente encontrados pela Internet. Para o CP 400 Color II, os arquivos com as ROMs são cp400bas.rom e cp400dsk.rom, ou, pode utilizar as ROMs do seu equivalente, o TRS-80 Color Computer II (CoCo2), os arquivos com as ROMs são bas12.rom, disk11.rom e extbas11.rom. Procure na Internet e acesse o site "Programas para o CP-400 Color" (http://sites.mpc.com.br/ric/cp400/cocomain.htm).

Estes arquivos de ROMs são a reprodução da BIOS da máquina real. Na instalação do MESS em um sistema Linux, os arquivos .rom devem ficar no caminho /usr/share/mess/roms/, em um diretório com um nome que identifique o sistema. Para o CP 400 Color II, os arquivos (cp400bas.rom e cp400dsk.rom) devem ficar em /usr/share/mess/roms/cp400/, e para o TRS-80 Color Computer II, os arquivos (bas12.rom, disk11.rom e extbas11.rom) devem ficar em /usr/share/mess/roms/coco2/.

Feito isso o MESS está pronto para ser executado. A sintaxe da linha de comando do MESS é:

mess [sistema] [mídia] [opções]

Se desejar conhecer as opções de linha de comando, execute o MESS com a opção -showusage. A princípio a opção que pode ser útil é a -window, que ativa o modo de janela, senão o MESS será executado em tela cheia. Para conhecer as mídias suportadas em cada sistema, use a opção -listmedia. Os parâmetros de mídia servem para carregar pela linha de comando alguma imagem de um dispositivo de armazenamento, como por exemplo -flop1 jogos.dsk ou -cass jogos.wav. Um exemplo de comando para execução do MESS, emulando o sistema CP 400:

$ mess cp400 -window

Com a execução do MESS, a tela inicial do sistema emulado aparecerá e a partir daí a operação será específica do sistema emulado, no nosso caso o CP 400 Color II (ou CoCo2). Caso não especifique o sistema pela linha de comando, o MESS exibirá um menu para a escolha, de acordo com as ROMs encontradas em /usr/share/mess/roms/.

Tela inicial do CP 400 Color II

Apesar de ter diversas opções para linha de comando, também é possível operar o MESS através de sua Interface de Usuário (UI). Esta interface é apresentada pressionando a tecla Tab, estando o teclado no modo de emulação parcial. A emulação do teclado pode ser alternada pressionando a tecla ScrLock, entre emulação total e emulação parcial.

Algumas teclas de função no MESS são apresentadas a seguir. Estas teclas só tem efeito com o teclado no modo de emulação parcial. Estas são as tarefas padrões destas teclas, é possível personalizar:

ScrLock     alterna a emulação do teclado;
Tab         acessa a Interface de Usuário;
P           pausa a emulação;
Esc         sai da emulação (MESS).

Para carregar uma imagem de disquete enquanto a emulação está em execução, entre na UI (tecla Tab), escolha o menu File Manager, selecione uma das entradas de disquete e navegue pelo seu HD para encontrar o arquivo imagem. Feito isso a emulação será automaticamente reiniciada com o disquete inserido. No CP 400 e no CoCo2 é possível ter até quatro disquetes inseridos ao mesmo tempo.

As instruções a partir daqui são específicas do sistema operacional do CP 400. São os comandos para o interpretador do CP 400.

Em uma operação com uso de imagens de disquetes, para listar o conteúdo de um disquete usa-se o comando DIR, para carregar o programa usa-se LOAD, LOADM etc., e para executar usa-se o comando EXEC. Exemplo:

DIR

SHENANI  BIN  2 B 13
TREKBOER BIN  2 B 13
SANCTUN  TRD  2 B 13
CALIXTO  TRD  2 B 13
SEAQUEST TRD  2 B 13
OK
LOADM "CALIXTO.TRD"
OK
EXEC

Quando há carregado mais de um disquete, é necessário especificar a unidade, por exemplo DIR 0, DIR 1 lista o conteúdo, LOADM "CALIXTO.TRD:1" carrega o programa da segunda unidade. Veja:

DIR 1

SHENANI  BIN  2 B 13
TREKBOER BIN  2 B 13
SANCTUN  TRD  2 B 13
CALIXTO  TRD  2 B 13
SEAQUEST TRD  2 B 13
OK
LOADM "CALIXTO.TRD:1"
OK
EXEC

Indo além, para apagar, copiar ou renomear um arquivo de programa usa-se KILL, COPY TO ou RENAME TO. Exemplos:

KILL "SHENANI.BIN"

COPY "SHENANI.BIN:1" TO "SHENANI.BIN:0"

RENAME "SANCTUN.TRD" TO "BLKSANC.TRD"

Também pela Internet é possível encontrar alguns documentos para operação do CP 400 Color II (Color Basic, Extended Color Basic e Color Disk Basic). O site "Color Computer stuff" (http://www.cs.unc.edu/~yakowenk/coco.html) é um bom ponto de partida.

Consulte a documentação do MESS para obter mais informações sobre a linha de comando e a interface de usuário.

Jogos do CP 400 Color II

quinta-feira, 4 de agosto de 2011

A Estação Espacial Internacional

Com pouco mais de 417 toneladas, a Estação Espacial Internacional (ISS) orbita a Terra numa altitude entre 278 km e 460 km, viajando em uma velocidade média de 27,7 mil quilômetros por hora, completando 15,7 órbitas por dia. Cada órbita leva 91 minutos. O projeto da ISS iniciou em 1994 o primeiro módulo foi lançado em 1998 pela Rússia.

Atualmente a ISS é composta de 15 módulos pressurizados e uma extensa Estrutura de Pilastras Integradas (ITS) que dá suporte a radiadores, painéis solares, compartimentos de carga despressurizados e outros equipamentos. A energia é fornecida por 16 painéis solares montados na ITS em adição a quatro pequenos painéis nos módulos russos. O último módulo, o décimo sexto, está previsto para ser incorporado em 2012.

O volume pressurizado total, com a combinação de todos os módulos, é atualmente 837 metros cúbicos. Estes módulos incluem laboratórios, compartimentos de ancoragem, câmaras impermeáveis ao ar, ligações e quartos de moradia. Com a adição do último módulo o volume passará a aproximadamente 1000 metros cúbicos.

Para dar um ambiente adequado à tripulação, a ISS conta com um Sistema de Suporte à Vida e Controle Ambiental (ECLSS). É um sistema que proporciona e controla a pressão atmosférica, a detecção e supressão de incêndio, os níveis de oxigênio e o suprimento de água. A prioridade do ECLSS é a atmosfera na ISS mas o sistema também coleta, processa e armazena a água utilizada pela tripulação. O sistema é capaz de reciclar a água usada no chuveiro, banheiro e condensação do ar.

A atmosfera a bordo da ISS é similar a da Terra. A pressão normal na estação é a mesma do nível do mar na Terra. Uma atmosfera como a da Terra oferece maior conforto aos tripulantes e é muito mais segura do que uma atmosfera de oxigênio puro, pois esta eleva o risco de incêndios.

No ambiente da estação espacial, a gravidade é a única força significante agindo nos astronautas e objetos. Em alguns momentos há a percepção de resistência da atmosfera, aceleração e correção da órbita, inclinação, rotação etc.

Por causa da alta velocidade de deslocamento, a ISS está em uma constante queda livre sobre o horizonte. Com isto a tripulação tem uma percepção de ausência de peso, da própria sensação de queda livre, dando o efeito de microgravidade.

Os efeitos adversos mais significantes, de um longo período em baixa gravidade, são atrofia muscular e osteopenia. Outros efeitos significantes incluem a redistribuição dos fluidos, lentidão no sistema cardiovascular, baixa produção de glóbulos vermelhos e enfraquecimento do sistema imunológico. Para prevenir alguns destes efeitos fisiológicos adversos, a estação é equipada com esteiras ergométricas, um dispositivo para exercícios resistidos, que fornece vários tipos de exercícios com peso, e uma bicicleta ergométrica. Cada astronauta realiza duas horas de exercícios por dia.

O fuso horário usado a bordo da ISS é o Tempo Universal Coordenado (UTC). As janelas da ISS são cobertas nas horas noturnas para dar a impressão da escuridão da noite, pois a estação passa, por dia, por 16 eventos de nascer do sol e por do sol.

Durante as visitas das missões espaciais, a tripulação da ISS segue o fuso da missão (MET), que é baseado na hora do lançamento do foguete. Como os períodos de sono entre o UTC e o MET geralmente diferem, a tripulação da ISS precisa ajustar seu sono já antes da missão espacial chegar e retornar ao fuso UTC após os visitantes partirem. Em um dia típico na estação, a tripulação dorme das 21:30 até as 06:00 e trabalha 10 horas nos dias úteis e 5 horas aos sábados.

A maioria dos alimentos para os tripulantes da ISS são armazenados de forma congelada, refrigerada ou enlatada. O cardápio é preparado pelos próprios astronautas, com a ajuda de nutricionistas, antes deles voarem para a estação. Como a sensibilidade do sabor fica reduzida pela redistribuição dos fluidos na cabeça, os alimentos apimentados são os preferidos pela maioria da tripulação. Cada tripulante possui um estoque individual de alimento.

Atualmente, a tripulação da ISS é composta de seis astronautas. A cada expedição enviada à estação, parte dos astronautas são substituídos, enquanto a outra parte fica até a próxima expedição. Nas últimas expedições a tripulação foi substituída de três em três astronautas. O período médio de um tripulante na estação são seis meses.

O propósito da Estação Espacial Internacional é ser um laboratório de pesquisa, observatório e fábrica no espaço. Também é planejada para proporcionar transporte, serviço e base para futuras missões à Lua, Marte e asteroides.

É uma parceria internacional de diversas agências espaciais, com as principais sendo a Administração Nacional do Espaço e da Aeronáutica (NASA), a Agência Espacial Federal Russa (RKA), a Agência Japonesa de Exploração Aeroespacial (JAXA), a Agência Espacial Canadense (CSA) e a Agência Espacial Europeia (ESA).