SISTEMAS DE COMUNICAÇÃO INTEGRADOS
SISTEMAS DE COMUNICAÇÃO INTEGRADOS
UIÃO
UIÃO
Levantamento Parcial da
Levantamento Parcial da
Rede Informática do ISCTE
Rede Informática do ISCTE
Docente
Docente
: Professor Doutor
: Professor Doutor
Miguel Dias
Miguel Dias
Discente:
Discente:
João
João
Nascimento
Nascimento
Lisboa, 11 de Abril de 2001
Lisboa, 11 de Abril de 2001
ÍNDICE
ÍNDICE
I. Introdução
I. Introdução ...
...
...
...
...
...1
...1
II. Aplicação dos Comandos (Dos)
II. Aplicação dos Comandos (Dos) ...
...
...
...2
...2
ANEXO I
-ANEXO I - Comandos Utilizados (Dos)
Comandos Utilizados (Dos) ...
...
...
...21
...21
1.
1. ARP
ARP (Address
(Address Resolution
Resolution Protocol)
Protocol) ...
... ...
... 22
22
2. Ping...22
2. Ping...22
3. Route...23
3. Route...23
4. FTP (File Transfer Protocol)...25
4. FTP (File Transfer Protocol)...25
5. TELNET (File Transfer Protocol)...25
5. TELNET (File Transfer Protocol)...25
6. IPCONFIG...26
6. IPCONFIG...26
7.
7. TRACERT
TRACERT ...
... ...
... ...
...26
26
8. NETSTAT...27
8. NETSTAT...27
9. Nslookup...27
9. Nslookup...27
ANEXO II
-ANEXO II - Comandos Utilizados (Unix)
Comandos Utilizados (Unix) ...
...
...
...29
...29
FTP
FTP ...
... ...
... ...
... 30
30
TRACEROUTE...39
TRACEROUTE...39
ARP...43
ARP...43
NSLOOKUP(1C)...46
NSLOOKUP(1C)...46
PING...50
PING...50
NVRAM
NVRAM ...
... ...
... ...
... 54
54
IFCONFIG...55
IFCONFIG...55
NETSTAT...57
NETSTAT...57
TELNET
TELNET ...
... ...
... ...
... 59
59
ANEXO
ANEXO III
III ...
...
...
...
...
...69
...69
ANEXO
ANEXO IV
IV...
...
...
...
...
...99
...99
ANEXO
ANEXO V
V ...
...
...
...
...
...108
...108
I. Introdução
I. Introdução
Este trabalho é o resultado da realização, passo a passo, do Guião proposto para o
Este trabalho é o resultado da realização, passo a passo, do Guião proposto para o
levantamento parcial da rede informática do ISCTE. Após um breve momento de
levantamento parcial da rede informática do ISCTE. Após um breve momento de
familiarização com os comandos próprios para conseguir realizar as tarefas incluídas no
familiarização com os comandos próprios para conseguir realizar as tarefas incluídas no
guião, deu-se início aos trabalhos. A rede do ISCTE encontra-se baseada na família de
guião, deu-se início aos trabalhos. A rede do ISCTE encontra-se baseada na família de
protocolos TCP/IP, apesar de ligar equipamentos informáticos utilizando pelo menos os
protocolos TCP/IP, apesar de ligar equipamentos informáticos utilizando pelo menos os
sistemas operativos UNIX, Windows NT e LINUX. Por este motivo foram utilizados os
sistemas operativos UNIX, Windows NT e LINUX. Por este motivo foram utilizados os
comandos:
comandos:
Ao nível do MS-Dos:
Ao nível do MS-Dos: ftp
ftp,, telnet
telnet,, Ping
Ping,, tracert
tracert,, arp
arp,, ipconfig
ipconfig,, netstat
netstat,, nslookup
nslookup ee route
route..
Qualquer informação mais detalhada sobre qualquer um destes comandos, pode ser
Qualquer informação mais detalhada sobre qualquer um destes comandos, pode ser
encontrada no Anexo I – Comandos Utilizados (MS-Dos).
encontrada no Anexo I – Comandos Utilizados (MS-Dos).
A nível do UNIX:
A nível do UNIX: Ping
Ping,, traceroute
traceroute,, arp
arp,, nvram
nvram,, ifconfig
ifconfig ee netstat
netstat. Qualquer informação
. Qualquer informação
mais detalhada sobre qualquer um destes comandos, pode ser encontrada no Anexo II –
mais detalhada sobre qualquer um destes comandos, pode ser encontrada no Anexo II –
Comandos Utilizados (Unix). Dado que o sistema operativo não disponibiliza informação em
Comandos Utilizados (Unix). Dado que o sistema operativo não disponibiliza informação em
português, não foi possível realizar a tradução do texto em tempo útil, pelo que a Lista de
português, não foi possível realizar a tradução do texto em tempo útil, pelo que a Lista de
comandos Unix encontra-se em Inglês.
comandos Unix encontra-se em Inglês.
Os comandos utilizados em UNIX são idênticos aos utilizados em Dos, existindo as seguintes
Os comandos utilizados em UNIX são idênticos aos utilizados em Dos, existindo as seguintes
correspondências:
correspondências:
Comando
Comando em
em DOS
DOS Comando
Comando em
em UNIX
UNIX
Diferenças
Diferenças
ARP
ARP
arp
arp
--Ping
Ping
ping
ping
--Route
Route
-
-
--FTP
FTP
ftp
ftp
--telnet
telnet
telnet
telnet
--IPConfig
IPConfig
ifconfig
ifconfig
--Tracert
Tracert
traceroute
traceroute
--Netstat
Netstat
netstat
netstat
--nslookup
--II. Aplicação dos Comandos (Dos)
Questão 5.
A pergunta 5 do guião pretende que, a partir do Dos, se faça a caracterização do
computador onde o trabalho foi desenvolvido.
a) começando pela camada física, esta alínea pede explicitamente o endereço ETHERNET
do computador. Este endereço, também conhecido por MAC Address (Medium Access
Control Address – Endereço de Controlo de Acesso ao Meio), encontra-se definido ao
nível físico do protocolo TCP/IP, sendo atribuído à placa de rede instalada no
computador pelo fabricante da mesma. Este código é único no mundo, não existindo
duas placas com Endereços MAC iguais. Para obter esta identificação a partir do
MSDOS é necessário utilizado o comando IPCONFIG com a opção /ALL.
Para poder responder a esta pergunta foi executado o comando:
C:>IPCONFIG /ALL
O resultado do comando foi:
Windows NT IP Configuration
Host Name . . . : i0s05-14.students.iscte.pt
DNS Servers . . . : 10.10.10.2 193.136.188.1 Node Type . . . : Broadcast
NetBIOS Scope ID. . . : IP Routing Enabled. . . : No WINS Proxy Enabled. . . : No NetBIOS Resolution Uses DNS : No Ethernet adapter RTL81391:
Description . . . : Realtek 8139-series PCI NIC
Physical Address. . . : 00-4F-4E-00-0C-92
DHCP Enabled. . . : Yes
IP Address. . . : 10.10.10.112 Subnet Mask . . . : 255.255.255.0 Default Gateway . . . : 10.10.10.254
DHCP Server . . . : 10.10.10.2
Lease Obtained. . . : Quarta-feira, 28 de Março de 2001 13:24:01 Lease Expires . . . : Quinta-feira, 29 de Março de 2001 09:24:01
Através deste quadro é possível dizer que o Endereço ETHERNET da placa de rede instalada
no computador é 00-4F-4E-00-0C-92. Este valor é dado pela rubrica Physical Address.
b) Passando agora para um nível acima na pilha de protocolos TCP/IP, são pedidas
informações da camada de rede. Em primeiro lugar o Número IP. Este número que é
atribuído a um computador da rede, pelo administrador do sistema, ou pelo serviço
DHCP identifica numericamente o computador perante a rede. É constituído por quatro
segmentos de 8 bits cada, prefazendo 32 bits de informação. Ao serem traduzidos para
base decimal, são apresentados num intervalo de 0 a 255.
O comando utilizado a nível do MS-DOS, para saber o endereço IP do computador é o
mesmo que foi utilizado no ponto anterior (IPConfig /ALL). Através do resultado
anteriormente, é possível obter o número pretendido no campo IP Address. Neste
campo pode observar-se o número: 10.10.10.112. Pode então concluir-se que foi
adoptado um número para redes privadas, dado que o endereço começa por 10.
Este
número
é
o
resultado
da
conversão
do
código
00001010.00001010.00001010.01110000 em binário (código efectivamente tratado
pelo computador) para o sistema decimal.
De seguida é solicitada a Máscara de Rede. Esta configuração permite estabelecer
sub-redes, estabelecendo divisões lógicas no interior de uma rede. O comando IPConfig
/ALL também permite, neste ambiente (MS-DOS), saber a Máscara da Rede a que o
computador está ligado. Através do campo Subnet Mask, no quadro anterior, obtém-se
255.255.255.0. É, portanto, uma rede tipo C, dado que apenas dispõe de 8 bits (último
segmento a zero) dedicados a hosts (computadores) e os restantes (primeiros três
segmentos a 255 – que em linguagem binário corresponde a 11111111) são utilizados
para identificar a rede.
Na sub-rede identificada, podem ser atribuídos endereços de IP entre 10.10.10.1 até ao
10.10.10.254. Isto porque a Máscara de Sub-rede é 255.255.255.0, o que quer dizer que
os primeiros octetos (10.10.10) são fixos para os hosts que queiram pertencer à sub-rede
e o último segmento pode variar. Como a composição de cada octeto tem um
comprimento de 8 bits (8 dígitos binários), podem ser atribuídos número de 00000000
até 11111111. Em decimal 0 a 255. No entanto o 0 (em binário - 00000000) é atribuído
à rede (10.10.10.0) e o 255 (em binário – 11111111) é o endereço broadcast
(10.10.10.255), ou seja o endereço comum a todos os computadores (ao ser lançado na
rede uma mensagem para este endereço todos os computadores farão a sua leitura).
O nome DNS (Domain Name Server – Servidor de Nomes dos Domínios) do
computador actual, é o nome pelo qual ele é conhecido na rede, em alternativa ao
endereço de IP a ao MAC Address. Por uma questão de facilidade para os humanos em
decorar nomes e não números criou-se este conceito. Esta identificação pode ser obtida
também pelo comando anterior IPConfig /ALL. No campo Host Name, é possível ler
i0s05-14.students.iscte.pt
, que é, no fundo, o nome que está associado ao
Endereço de IP 10.10.10.112.
O número do router por defeito, ou seja, a identificação na rede do dispositivo a quem é
entregue toda a informação enviada pelo computador actual para a rede, é também
obtido no resultado do comando IPConfig /All. Este comando, devido à opção /ALL,
devolve um grupo importante de informação. No campo Default Gateway, pode ler-se o
que se pretende neste ponto, ou seja: 10.10.10.254. Este é o endereço responsável por
reencaminhar correctamente a informação que sai do computador onde decorre a
execução deste guião.
Por fim, nesta questão é ainda solicitada informação adicional sobre o router por
defeito. Neste caso o Nome, em vez do Endereço IP. Para se obter esta informação, o
comando utilizado até aqui não basta. É necessário utilizar um outro – nslookup. Este
permite traduzir (resolver) um determinado endereço IP para o Nome respectivo. De
facto, ao executar este comando com um endereço IP é solicitado ao DNS Server
(também visível através do comando IPConfig /all, como sendo 10.10.10.2 ou
193.136.188.1) o nome correspondente. Neste caso, para responder à questão foi
necessário executar o comando: nslookup 10.10.10.254, tendo-se obtido o seguinte
resultado:
nslookup 10.10.10.254
Server: socrates.students.iscte.pt
Address: 10.10.10.2
Name:
fwi.students.iscte.pt
Address: 10.10.10.254
Isto permite dizer que o nome do Router por defeito é fwi.students.iscte.pt.
Questão 6.
A pergunta 6 do guião pretende que se faça a caracterização do Servidor de Nomes de
Domínio. Este é o elemento da rede que armazena uma tabela que relaciona o Endereço
de IP dos computadores e o seu nome agradável ao utilizador. Este elemento é o
responsável por determinar a localização do computador de destino de uma mensagem e
de a encaminhar para ele através da rede.
Para responder à questão colocada sobre o Nome do Servidor de Nomes de Domínio,
existem, pelo menos, duas formas: utilizando o nslookup sobre um qualquer Endereço
IP da rede, ou utilizar o comando nslookup sobre o endereço IP determinado através do
IPConfig /all. No primeiro caso, basta olhar para o resultado do último comando
executado anteriormente e retirar a primeira indicação de Server:. A segunda forma
seria executar o comando nslookup 10.10.10.2
nslookup 10.10.10.2
Server: socrates.students.iscte.pt
Address: 10.10.10.2
Name: socrates.students.iscte.pt
Address: 10.10.10.2
A segunda questão colocada neste ponto do guião pretende que se proceda à
identificação do Endereço IP do Servidor de Nomes de Domínio. Esta informação foi
obtida anteriormente com o comando IPConfig /All, no campo DNS Servers como
sendo
10.10.10.2
. Ainda é possível observar que o Endereço de IP do Servidor de
DNS Secundário é
193.136.188.1. Fazendo o nslookup a este endereço, fica-se a
saber que tem o nome
iscte.iscte.pt
.
Questão 7.
A pergunta 7 do guião pretende que se identifique o endereço Ethernet do router por
defeito, ou seja, pretende-se saber qual o endereço físico da placa de rede instalada no
Router por defeito (e pela qual ele comunica). Para se obter a resposta a esta questão
tem de se seguir um conjunto de passos: 1º realizar o Ping ao endereço IP (conhecido
através do campo Default Gateway, do comando IPConfig /all, como sendo
10.10.10.254) desse elemento da rede, por forma a que os seus dados sejam
armazenados na ARP Table e, posteriormente, através do comando arp –a, obter todos
os dados dessa tabela (que agora incluem o do router por defeito. Os passos foram
realizados e deram estes resultados:
Ping 10.10.10.254
Pinging 10.10.10.254 with 32 bytes of data:
Reply from 10.10.10.254: bytes=32 time<10ms TTL=255
Reply from 10.10.10.254: bytes=32 time<10ms TTL=255
Reply from 10.10.10.254: bytes=32 time<10ms TTL=255
Reply from 10.10.10.254: bytes=32 time<10ms TTL=255
Arp -a
Interface: 10.10.10.112 on Interface 2
Internet Address
Physical Address
Type
10.10.10.8
00-80-5f-0d-2d-e0
dynamic
10.10.10.10
00-d0-b7-d3-60-0b
dynamic
10.10.10.12
00-80-5f-bb-68-f4
dynamic
10.10.10.254
00-4f-4e-06-a9-d7
dynamic
Pelo que se pode ver, o Physical Address (ou seja o Endereço Ethernet) do router por
defeito é
00-4f-4e-06-a9-d7
.
Questão 8.
Nesta questão é solicitada uma descrição pormenorizada de todas as rotas IP que estão
configuradas no computador onde decorre o teste. O comando a utilizar para obter
informação de base à resposta a esta questão é route com a opção print. O resultado é o
seguinte:
route print
=========================================================================== Interface List
0x1 ... MS TCP Loopback interface 0x2 ...00 4f 4e 00 0c 92 ... Realtek 8139-series PCI NIC
=========================================================================== =========================================================================== Active Routes:
Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 10.10.10.254 10.10.10.112 1 10.10.10.0 255.255.255.0 10.10.10.112 10.10.10.112 1 10.10.10.112 255.255.255.255 127.0.0.1 127.0.0.1 1 10.255.255.255 255.255.255.255 10.10.10.112 10.10.10.112 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 224.0.0.0 224.0.0.0 10.10.10.112 10.10.10.112 1 255.255.255.255 255.255.255.255 10.10.10.112 10.10.10.112 1 ===========================================================================
A primeira linha evidencia a configuração do router por defeito, ou seja, qualquer endereço
desconhecido deverá ser encaminhado para o endereço aqui especificado (10.10.10.254).
A segunda linha da tabela de rotas mostrada em cima, servirá para quando o Computador
estiver a trabalhar em modo local. Os recursos serão procurados no interior do próprio
computador.
A terceira linha, como se pode ver tem o Network Destination igual ao Endereço de IP do
computador actual. Esta linha servirá para indicar à camada IP que o endereço 10.10.10.112 é
o próprio computador. Permite ainda verificar se o IP está configurado, ou não
Na quarta linha é possível definir o endereço da rede de broadcast.
Na quinta linha aparece a rota criada pelo protocolo TCP/IP. Esta existe em todos os
computadores.
As duas linhas seguintes identificam ambas rotas para redes IP. O endereço 224.0.0.0
identifica o endereço para rede IP multicast e a última linha especifica o endereço da própria
rede a que o computador pertence. Qualquer mensagem que seja dirigida a esta rede é também
entregue neste computador, independentemente de a ler ou rejeitar.
Questão 9.
Até a este momento do guião, o sistema operativo em que se baseavam as perguntas era
o MS-Dos (dentro no Windows NT). A partir daqui, para experimentar os mesmos
efeitos num outro sistema operativo para além do Ms-Dos, irá ser utilizado o UNIX.
Este sistema operativo encontra-se instalado numa outra máquina remota, que é
necessário aceder através do software TELNET, por forma a poder executar comandos
nessa máquina e, assim tentar responder às questões colocadas e caracterizar a máquina
em questão.
O computador em causa está identificado na rede como
indy1.adetti.iscte.pt
.
Neste momento a informação disponível sobre esta máquina, é apenas o nome DNS e o
login e password para podermos iniciar uma sessão TELNET.
Para aceder à máquina remota (que se encontra ligada ao computador actual) é
necessário executar o comando: TELNET
indy1.adetti.iscte.pt
. Com isto
será pedida uma Login e uma Password, às quais é necessário responder acertadamente.
Uma vez em sessão é possível começar a responder às questões.
A
primeira
questão
é
o
Endereço
ETHERNET
do
computador
(
indy1.adetti.iscte.pt
). Já que estamos em sessão, basta utilizar o comando
nvram, para obtermos uma lista completa das características da máquina.
nvram
dbaud=9600
tapedevice=
root=
swap=
showconfig=isfalse
initfile=
initstate=
swaplo=
nswap=
sync_on_green=
console=g
gfx=alive
keybd=
nogfxkbd=
cpufreq=200
monitor=
pagecolor=
screencolor=
logocolor=
diskless=0
srvaddr=
netaddr=192.0.2.1
diagmode=
hostname=
dlserver=
dlgate=
dllogin=
maxpmem=
debug_bigmem=
eaddr=08:00:69:08:27:b2
rdebug=
dbgmon=
nodbgmon=
volume=80
scsiretries=
scsihostid=
scsi_syncenable=
SystemPartition=scsi(0)disk(1)rdisk(0)partition(8)
OSLoadPartition=scsi(0)disk(1)rdisk(0)partition(0)
OSLoadFilename=/unix
OSLoadOptions=auto
AutoLoad=Y
sgilogo=y
rbaud=
passwd_key=
rebound=
scsihostid=
prompoweroff=
impactgm=
triton_invall=
Com base neste resultado, consegue-se facilmente chegar ao que se pretende através do
campo eaddr – Ethernet Address. Como é possível ver, trata-se do endereço
08:00:69:08:27:b2.
A alínea b) da questão pretende que se faça a identificação do endereço IP do
computador em que decorre a sessão remota (
indy1.adetti.iscte.pt
). Para tal
é necessário utilizar o comando próprio do Unix: ifconfig. Este comando requer uma
interface que foi disponibilizada pelo Professor como sendo ec0. Executando o
comando completo:
ifconfig ec0
ec0: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,FILTMULTI,MULTICAST> inet 193.136.190.34 netmask 0xffffffe0 broadcast 193.136.190.63
obtém-se diversas informações necessárias a esta alínea e às seguintes. É visível o
Endereço IP, no início da última linha -
inet 193.136.190.34.
Uma questão se coloca ao chegar a este ponto: “ sendo as redes completamente distintas
na forma de se identificar (note-se que o primeiro computador, onde se iniciou este
guião, tinha um endereço 10.10.10.112 e o actual tem um endereço IP 193.136.190.34),
como se conseguem encontrar na rede. Sim, porque ao executar o Telnet os
computadores têm de estar ligados física e logicamente. Se têm endereços tão distintos,
à partida não se conseguiriam avistar na rede. A resposta a esta questão encontra-se
mais à frente quando o caminho inverso for percorrido. Nessa altura veremos que existe
um ponto em comum entre as duas redes.
Através do comando anterior, é também possível identificar a Máscara de Rede
(netmask). Neste caso temos a indicação de que o computador se encontra numa
sub-rede com a máscara 0xffffffe0. Esta informação encontra-se num formato hexadecimal,
sendo necessário traduzir este número para a base decimal, por forma a ter uma
representação na forma mais comum. Procedendo dessa forma obtemos a máscara de
rede 255.255.255.224. Esta informação é relevante, pois permite compreender um
pouco mais de como a rede está segmentada.
O facto de o último octeto da máscara de rede se encontrar preenchido com o número
224, deixa perceber que os 3 bits mais significativos do último octeto estão reservados
para sub-redes. É possível chegar a esta conclusão quando traduzimos o número para
binário (224
(10)= 11100000
(2)). Por este motivo, podemos concluir que o computador
está inserido numa rede segmentada em 6 sub-redes (2
3– 2 = 6). O operando 2
3- porque
ao termos 3 bits temos combinações possíveis de redes. Subtrai-se 2 porque a sub-rede
não pode ser identificada pela combinação 000 nem 111. Retirando estas duas
combinações ficamos com 6. Podemos ainda inferir que, em cada sub-rede, apenas é
possível ter 30 hosts. Isto porque, dos 8 bits do octeto, ficam disponíveis apenas 5 bits
para estes elementos. Fazendo contas 2
5– 2 = 30 . Novamente se subtraem 2 (00000 e
11111). Desta forma apenas se podem utilizar 180 endereços dos 254 disponíveis (se
octeto estivesse preenchido com 0 - Zero). Isto representa uma percentagem de
utilização de 71%.
Para responder à questão “Quais os números de rede IP que são válidos nesta
sub-rede?”, ter-se-á de realizar alguns cálculos. O endereço IP do computador em análise é,
como já se disse,
193.136.190.34. O 34 decomposto em binário ficará em 00100010.
Atendendo à explicação feita no parágrafo anterior, estamos em presença de um
computador na primeira sub-rede, uma vez que encontramos 1s apenas no bit menos
significativo de entre os bits atribuídos às sub-redes (os três mais significativos).
0
0
1 0
0
0
1 0
Sub-rede
Hosts
Como não podemos ter o endereço: 000
0
0
0
0
0
0
1 0
Sub-rede
Hosts
A primeira sub-rede é efectivamente 001.
Como não é possível ter o endereço 00000, na componente Hosts, nem 11111, o
intervalo permitido situa-se entre 00001 e 11110. Associando à componente de sub-rede
temos um intervalo final entre 00100001 e 00111110. Traduzindo para decimal
obtém-se o intervalo 33 a 62. Compondo todo o endereço completo teremos u intervalo de
193.136.190.33 a 193.136.190.62. Por último, pode inferir-se que o endereço da rede
será 193.136.190.32 (que não se pode atribuir a nenhum host e que resulta de ter a parte
host a zero – 00100000 = 32) e o endereço broadcast será 193.136.190.63 (que também
não se pode atribuir a nenhum host e que resulta de ter a parte host tudo a 1 – 00111111
= 63), tal como se pode comprovar no campo broadcast do resultado do comando
ifconfig ec0.
A resposta à questão “Qual o seu nome DNS” é a mais óbvia de todo o guião, já que foi
exactamente por aí que se começou a segunda parte do mesmo (a entrada no UNIX).
Para ser possível o acesso utilizou-se precisamente o Nome de DNS. Portanto, a
resposta será, obviamente,
indy1.adetti.iscte.pt
.
A próxima questão solicita que seja indicado o IP do router por defeito. Este endereço
tem de estar dentro da sub-rede, por forma a que o computador possa colocar os seus
pedidos directamente. Para ter acesso a esta informação é necessário recorrer ao
comando netstat. Utilizando os parâmetros nr (n, para ver os endereços em formato
netstat -nr
Routing tables
Destination Gateway Flags MTU RTT RTTvar Use Interface
127.0.0.1 127.0.0.1 UH 0 0 0 1171 lo0
193.136.190.34 127.0.0.1 UH 0 0 0 1086 lo0 default 193.136.190.59 UG 0 0 0 56882 ec0 224.0.0.0 193.136.190.34 U 0 0 0 2604 ec0 193.136.190.32 193.136.190.34 U 0 0 0 26842 ec0
Deste resultado, pode retirar-se a informação pretendida. Na coluna Destination,
encontra-se a descrição default. Nesta linha o valor encontrado na coluna Gateway dá o
endereço do Gateway (router) por defeito. Neste caso é
193.136.190.59.
A questão seguinte, inevitavelmente, solicita o Nome DNS do router por defeito. Entre
as várias formas de obter este informação, pode consultar-se utilizando o comando Arp
–a para consultar a tabela ARP. Procedendo desta forma, obtém-se:
Arp -a indigoxz.adetti.iscte.pt (193.136.190.33) at 8:0:69:7:67:2b o2video.adetti.iscte.pt (193.136.190.35) at 8:0:69:5:bb:7a lablin1.adetti.iscte.pt (193.136.190.36) at 8:0:0:52:36:7 labserver.adetti.iscte.pt (193.136.190.49) at 0:60:8:1f:cd:67 lablin2.adetti.iscte.pt (193.136.190.51) at 0:0:e8:3d:be:5a ? (193.136.190.57) at 0:c0:7b:7b:d2:63 gtadetti.adetti.iscte.pt (193.136.190.59) at 0:0:e8:49:89:bc fore-switch-eth.adetti.iscte.pt (193.136.190.62) at 0:80:42:9:c:99
Como é possível observar o nome do host a que corresponde o endereço IP em questão
é encontrado na 8ª linha:
gtadetti.adetti.iscte.pt (193.136.190.59). A resposta
é:
gtadetti.adetti.iscte.ptSe, eventualmente, este endereço ainda não se encontrasse nesta tabela, poder-se-ia
utilizar o comando Ping ao endereço em questão, por forma ser acrescentado. Logo de
seguida, ao executar o comando Arp, poder-se-ia então obter a informação.
Questão 10.
Passando à questão 10, será agora feita a caracterização do Servidor de Nomes de
Domínio. Começando por tentar obter o Endereço IP, pode obter-se de seguida o Nome.
Para tal utilizar-se-á o comando nslookup, sem qualquer parâmetro. Desta forma apenas
responderá o Servidor de Nomes de Domínio, entrando em sessão.
nslookup
Default Server: iscte.iscte.pt
Address: 193.136.188.1
>
Com o endereço IP é, então, possível saber o nome DNS, através do mesmo comando,
mas agora utilizando como parâmetro este endereço:
nslookup 193.136.188.1
Server: iscte.iscte.pt
Address: 193.136.188.1
Name: iscte.iscte.pt
Address: 193.136.188.1
Pode dizer-se que o Servidor de Nome de Domínio tem o endereço IP: 193.136.188.1 e
o Nome iscte.iscte.pt.
Voltando um pouco atrás no guião, na questão 6 (ainda na máquina NT) obteve-se o
mesmo endereço para o Servidor de Nomes de Domínio Secundário. É precisamente
neste ponto que as redes se cruzam (a do Unix e a do NT). É esta a máquina que faz a
interligação entre as redes, permitindo que ambas se vejam.
Questão 11.
Neste ponto do Guião, é necessário recorrer de novo ao comando Arp –a por forma a
identificar o endereço ETHERNET do router por defeito.
Arp -a indigoxz.adetti.iscte.pt (193.136.190.33) at 8:0:69:7:67:2b o2video.adetti.iscte.pt (193.136.190.35) at 8:0:69:5:bb:7a lablin1.adetti.iscte.pt (193.136.190.36) at 8:0:0:52:36:7 labserver.adetti.iscte.pt (193.136.190.49) at 0:60:8:1f:cd:67 lablin2.adetti.iscte.pt (193.136.190.51) at 0:0:e8:3d:be:5a ? (193.136.190.57) at 0:c0:7b:7b:d2:63 gtadetti.adetti.iscte.pt (193.136.190.59) at 0:0:e8:49:89:bc fore-switch-eth.adetti.iscte.pt (193.136.190.62) at 0:80:42:9:c:99
Com o resultado deste comando, sabendo ainda que o router por defeito tem o endereço
IP 193.136.190.59 (como ficou provado na parte final da resposta à questão 6), basta
procurá-lo na lista e verificar o que diz a última coluna da linha correspondente.
Verifica-se que a linha do router por defeito é, neste caso, a penúltima. Assim sendo, o
endereço Ethernet é
0:0:e8:49:89:bc
.
Questão 12.
À semelhança do que foi feito na questão 8 (ainda em Ms-Dos), é agora necessário
descrever as rotas configuradas no computador Unix. Para ser possível fazê-lo, é
necessário obter informação com o comando netstat –nr, tal como o foi naquela altura.
O resultado é ligeiramente diferente, dado que se trata de um equipamento diferente,
como se pode ver no resultado do comando que se mostra a seguir:
netstat -nr
Routing tables
Destination Gateway Flags MTU RTT RTTvar Use Interface 127.0.0.1 127.0.0.1 UH 0 0 0 1192 lo0 193.136.190.34 127.0.0.1 UH 0 0 0 1126 lo0 default 193.136.190.59 UG 0 0 0 60309 ec0 224.0.0.0 193.136.190.34 U 0 0 0 2616 ec0 193.136.190.32 193.136.190.34 U 0 0 0 26928 ec0
O conjunto de linhas que se encontra acima, permite concluir que existe duas rotas definidas
para Host (UH), como sendo 127.0.0.1 e 193.136.190.34; uma rota definida por omissão
(UG), como sendo 193.136.190.59; e, por fim, duas rotas de redes (U), como sendo 224.0.0.0
e 193.136.190.32.
A primeira linha da tabela de rotas mostrada em cima, servirá para quando o Computador
estiver a trabalhar em modo local. Os recursos serão procurados no interior do próprio
computador.
A segunda linha, como se pode ver tem o Destination Interface igual ao Endereço de IP do
computador actual. Esta linha servirá para indicar à camada IP que o endereço 193.136.190.34
é o próprio computador.
A terceira linha evidencia a configuração do router por defeito, ou seja, qualquer endereço
desconhecido deverá ser encaminhado para o endereço aqui especificado (193.136.190.59).
As duas linhas seguintes identificam ambas rotas para redes IP. O endereço 224.0.0.0
identifica o endereço para rede IP multicast e a última linha especifica o endereço da própria
rede a que o computador pertence. Qualquer mensagem que seja dirigida a esta rede é também
entregue neste computador, independentemente de a ler ou rejeitar.
Questão 13.
Para fazer o levantamento de toda a informação relativa à rede, tanto num computador
(NT/Dos) com no outro (Unix), seria necessário fazer o Ping aos endereços de
broadcast de cada computador da rede por forma a acrescentá-los à tabela ARP. Só
desta forma, posteriormente com o comando arp –a seria possível obter a totalidade da
informação sobre cada um dos computadores.
No entanto, ao fazer o Ping aos endereços broadcast das redes, foi devolvido um erro,
pelo que era necessário proceder ao contacto directo computador a computador. Como,
em princípio, existem 253 computadores ligados ao computador onde decorre o teste,
seria um trabalho exaustivo, digitar um a um o comando Ping seguido do endereço
respectivo. Para evitar esse trabalho exaustivo, criou-se um conjunto de ficheiros batch
(Vizinhos.BAT, V2.BAT e V3.BAT) para o Ms-Dos. Estes ficheiros permitem obter
toda a informação necessária
Vizinhos.BAT
Echo offfor %%y in (0 1 2) do call v2 %%y arp –a
V2.BAT
if %1==2 for %%y in (0 1 2 3 4 5) do call V3 %1%%y if %1==0 for %%y in (1 2 3 4 5 6 7 8 9) do call V3
if %1==1 for %%y in (0 1 2 3 4 5 6 7 8 9) do call V3 %1%%y
V3.BAT
if %1==25 for %%z in (0 1 2 3 4) do ping –a 10.10.10.%1%%z
if not %1==25 for %%z in (0 1 2 3 4 5 6 7 8 9) do ping –a 10.10.10.%1%%z
O resultado obtido pela execução dos ficheiros em Bacth do Ms-Dos encontra-se em
anexo (Anexo III).
No Unix, a programação em shell é bastante mais versátil, permitindo obter todas as
linhas com um só ficheiro (vizinhos). De qualquer forma, no computador Unix, o
número de hosts na sua vizinhança directa é bastante mais limitado devido à máscara de
rede inserida. Em ambos os sistemas operativos, pretende-se colocar os endereços de IP
de cada computador (cujo endereço esteja dentro do aceitável dentro da vizinhança do
computador actual), um a um, na tabela ARP, para posterior consulta com o comando
Arp -a. Em simultâneo é também feito o levantamento dos nomes DNS de cada
endereço dentro do grupo possível. Isto repete-se para Unix. Só desta forma foi possível
em tão pouco tempo realizar o levantamento completo.
O Ficheiro Shell Script (Unix, tem o seguinte aspecto)
Vizinhos
for i in 3 4 5 6 do for j in 0 1 2 3 4 5 6 7 8 9 do ping –c 1 193.136.190.$i$j nslookup 193.136.190.$i$j done done arp –aO resultado obtido pela execução dos ficheiros em Shell Script do Unix, encontra-se em
anexo (Anexo IV).
Para além de verificar os endereços de IP que se encontram em torno de ambos os
computadores, é também importante saber qual o caminho que é percorrido até sair da
rede o ISCTE, em direcção à internet. Para tal, foi utilizado o comando Tracert (em
Dos) e Traceroute (em Unix), com um parâmetro que consiste num endereço da
traceroute www.telepac.pt
traceroute to www.telepac.pt (194.65.79.10), 30 hops max, 40 byte packets
1 gtadetti.adett i.iscte.pt (193.136.190.59 ) 2 ms (ttl=64!) 1 ms (ttl=64!) 1 ms (ttl=64!) 2 gtiscte.iscte. pt (193.136.188.254 ) 1 ms 1 ms 1 ms
3 193.136.5.254 (193.136.5.254) 595 ms 759 ms 1066 ms
4 ROUTER14.ATM0- 0-0.3.Lisboa.rcc n.net (193.136.1.190) 1080 ms 1072 ms 974 ms
5 ROUTER16.ATM3- 0.3.Lisboa.rccn. net (193.136.1.1) 1084 ms (ttl=252!) 1248 ms (ttl=252!) * 6 PIX.telepac.pt (193.136.250.30 ) 990 ms (ttl=251!) 838 ms (ttl=251!) 1360 ms (ttl=251!) 7 194.65.12.157 (194.65.12.157) 719 ms (ttl=250!) 780 ms (ttl=250!) 995 ms (ttl=250!)
8 lcatrt1.telepa c.net (213.13.135.105 ) 1153 ms (ttl=249!) 863 ms (ttl=249!) 973 ms (ttl=249!) 9 213.13.135.70 (213.13.135.70) 1125 ms (ttl=248!) 736 ms (ttl=248!) 1018 ms (ttl=248!) 10 * * *
Para tentar perceber como os computadores estão interligados (NT/Dos e Unix),
utilizou-se o comando Tracert, por forma a que fossem desenhadas as rotas de um a
outro. Neste caso, partindo no computador NT/Dos, executou-se o comando Tracert -h
10 193.136.190.34. A opção –h 10, permite que ao 10º salto o computador desista de
procurar o endereço indicado. O endereço IP indicado corresponde, exactamente, ao
computador UNIX. O resultado foi o seguinte:
tracert -h 10 193.136.190.34
Tracing route to indy1.adetti.iscte.pt [193.136.190.34]over a maximum of 10 hops:
1 <10 ms <10 ms <10 ms fwi.students.iscte.pt [10.10.10.254] 2 <10 ms <10 ms <10 ms gtalunos.iscte.pt [193.136.191.10]
3 * * * Request timed out.
4 * * * Request timed out.
5 * * * Request timed out.
6 * * * Request timed out.
7 * * * Request timed out.
8 * * * Request timed out.
9 * * * Request timed out.
10 * * * Request timed out.
Trace complete.
Como é possível verificar, a partir do computador gtalunos.iscte.pt, não foi possível passar.
Da mesma forma, do lado do computador Unix foi executado o comando traceroute na
direcção do computador NT/Dos. O resultado foi o seguinte:
Traceroute 10.10.10.112 1 gtadetti.adetti.iscte.pt (193.136.190.59) 2 ms (ttl=64!) 1 ms (ttl=64!) 1 ms (ttl=64!) 2 gtiscte.iscte.pt (193.136.188.254) 1 ms 1 ms 1 ms 3 fwe.iscte.pt (193.136.191.9) 2 ms 1 ms 1 ms 4 10.10.10.112 (10.10.10.112) 1 ms (ttl=125!) 3 ms (ttl=125!) 1 ms (ttl=125!)
Questão 14.
Por último, resta agora desenhar, com símbolos próprios, a rede que foi levantada ao
longo do guião, compilando toda a informação recolhida. Por se tratar de uma rede com
uma dimensão tão alargada, será apresentado um esquema que incluí apenas alguns dos
computadores encontrados na pesquisa anterior. A omissão destes equipamentos, tem
como único objectivo possibilitar a representação de uma maior diversidade de
elementos, em detrimento da quantidade. A preocupação principal foi ilustrar os
elementos mais importantes da rede (com funções específicas) e não a representação
total da rede (facto que tornaria pouco legível o diagrama). O resultado encontra-se no
Anexo V.
1. ARP (Address Resolution Protocol)
a) Função
Mostra e modifica as tabelas de tradução dos endereços IP para
físicos utilizadas pelo protocolo de resolução de endereços (ARP).
b) Sintaxe do comando
ARP -s end_inet end_fis [end_interf]
ARP -d end_inet [end_interf]
Arp -a [end_inet] [-N end_interf]
c) Opções
-a
Mostra as entradas ARP actuais interrogando os actuais dados do
protocolo. Se end_inet é especificado, os endereços IP e físicos apenas
para o computador especificado são mostrados. Se mais que uma
interface de rede usa ARP, as entradas de cada tabela ARP são mostradas.
-g
O mesmo que -a.
end_inet
Especifica um endereço Internet.
-N end_interf
Mostra as entradas ARP para a interface de rede especificada por
end_interf .
-s
Adiciona o sistema anfitrião e associa o endereço Internet end_inet ao
endereço físico end_fis. O endereço físico é dado em 6 bytes
hexadecimais separados por hífenes. A entrada é permanente.
-d
Elimina o sistema anfitrião especificado por
end_inet.
end_interf
Se presente, especifica o endereço Internet da interface cuja tabela de
tradução devia ser modificada. Se não está presente, a primeira interface
aplicável será utilizada.
end_fis
Especifica um endereço físico.
d) Resultado
Interface: 192.9.200.200 on Interface 0x2000003 Endereço Internet Endereço físico Tipo 192.9.200.151 00-00-e8-69-a1-af dinâmico
2. Ping
a) Função
Mostra informação sobre o tempo de resposta de um determinado
sistema na rede.
b) Sintaxe do comando
Ping
[-t] [-a] [-n número] [-l tamanho] [-f]
[-i TTL] [-v TOS] [-r n úmero] [-s número]
[[-j lista de anfitri ão] | [-k lista de
anfitrião]]
c) Opções
-t
Espera eco do anfitrião especificado até ser interrompido. Para ver estatísticas e continuar prima Control-Break, para parar prima Control-C.
-a Resolve endereços a nomes de anfitrião.
-n número Número de pedidos de eco a enviar.
-l tamanho Tamanho de memória intermédia de envio.
-f Determina que o pacote não seja fragmentado.
-i TTL Tempo de duração.
-v TOS Tipo de serviço.
-r número Distribuição para esta quantidade de saltos.
-s número Data e hora para esta quantidade de saltos.
-j lista de anfitr. Distribuição de origem lata na lista de
anfitriões.
-k lista de anfitr. Distribuição origem restrita na lista de
anfitriões.
-w tempo de espera Tempo de espera em milisegundos para cada
resposta.
d) Resultado
A enviar para 192.9.200.151 com 32 bytes de dados:
Resposta de 192.9.200.151: bytes=32 tempo=1ms Tempo de
espera=128
Resposta de 192.9.200.151: bytes=32 tempo<10ms Tempo de
espera=128
Resposta de 192.9.200.151: bytes=32 tempo<10ms Tempo de
espera=128
Resposta de 192.9.200.151: bytes=32 tempo=1ms Tempo de
espera=128
Estatística de '
Ping
' para 192.9.200.151:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% loss),
Tempos aproximados de ida e volta em milissegundos:
Mínimo = 0ms, Máximo = 1ms, Média = 0ms
3. Route
a) Função
Manipula tabelas de atribui ção de rede.
b) Sintaxe do comando
ROUTE [-f] [comando [destino] [MASK m áscara]
[porta de ligação] [METRIC métrica]]
c) Opções
-f
Limpa as tabelas de distribui ção de todas as en
da porta de liga ção. Se for usado conjuntament
um dos comandos, as tabelas s ão limpas antes do
comando ser executado.
Comando
Um de quatro:
- Imprime um encaminhamento
ADD- Adiciona um encaminhamento
DELETE
- Elimina um encaminhamento
CHANGE
- Altera um encaminhamento existente
Destino
Especifica o anfitri ão destino.
MASK
Especifica que o pr óximo parâmetro é o valor p
Todos os nomes simb ólicos para este destino s ão consultados
na base de dados NETWORKS da rede. Os nomes simb ólicos para
a porta de liga ção são consultados na base de dados HOSTS
do anfitrião.
Se o comando é PRINT ou DELETE, devem ser usados caracteres
universais para o destino e porta de liga ção, ou o
argumento da porta de liga ção deve ser omitido.
Exemplos:
> route print
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3
> route print
> route delete 157.0.0.0
> route print
Notas de diagnóstico:
MASK inválido gera um erro, isto é, quando (DEST &
MASK) != DEST.
Exemplo> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1
Falhou a adição do encaminhamento: 87
Exemplos:
> route PRINT
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3
^destino ^máscara ^porta de lig. ^métrica
> route PRINT
> route DELETE 157.0.0.0
> route PRINT
d) Resultado
Encaminhamentos activos:
Endereço de rede Máscara Endereço de porta de ligação Interface Métrica 0.0.0.0 0.0.0.0 192.9.200.201 192.9.200.200 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.9.200.0 255.255.255.0 192.9.200.200 192.9.200.200 1 192.9.200.200 255.255.255.255 127.0.0.1 127.0.0.1 1 192.9.200.255 255.255.255.255 192.9.200.200 192.9.200.200 1 224.0.0.0 224.0.0.0 192.9.200.200 192.9.200.200 1 255.255.255.255 255.255.255.255 192.9.200.200 0.0.0.0 1
4. FTP (File Transfer Protocol)
a) Função
Estabelece uma ligação de um computador (onde se executa o
comando) a outro (remoto), para transferencia de ficheiros entre
ambos.
b) Sintaxe do comando
FTP [endereço IP | Nome DNS]
c) Opções
Endereço IP
Número de identifica ção da máquina a
que se pretende ligar.
Nome DNS
Nome
pelo
qual
o
computador
é
conhecido na rede.
d) Resultado
Entrada em modo comando, para executar ordens próprias do interpretador do FTP:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace ascii disconnect mdir quit type bell get mget quote user binary glob mkdir recv verbose bye hash mls remotehelp
cd help mput rename close lcd open rmdir
5. TELNET (File Transfer Protocol)
a) Função
Estabelece uma ligação de um computador (onde se executa o
comando) a outro (remoto), para execução de comandos de modo a
comandar a máquina à distância.
b) Sintaxe do comando
TELNET [endereço IP| Nome DNS]
c) Opções
Endereço IP
Número de identifica ção da máquina a
que se pretende ligar.
Nome DNS
Nome
pelo
qual
o
computador
é
conhecido na rede.
d) Resultado
Entrada em modo comando na máquina de endereço IP especificado, para executar ordens como se estivesse sentado em frente ela.
6. IPCONFIG
a) Função
Configuração IP do Windows 98.
b) Sintaxe do comando
TELNET [endereço IP| Nome DNS]
c) Opções
/All
Mostra informações detalhadas.
/Batch [fich]
Escreve
num
ficheiro
ou
em
./WINIPCFG.OUT
/renew_all
Renova todas as placas.
/release_all
Liberta todas as placas.
/renew N
Renova a placa N.
/release N
Liberta a placa N.
d) Resultado
Configuração IP do Windows 98 0 Ethernet adapter :
Endereço IP. . . : 0.0.0.0 Máscara de sub-rede . . . : 0.0.0.0 Porta de ligação predefinida. . :
1 Ethernet adapter :
Endereço IP. . . : 192.9.200.200 Máscara de sub-rede . . . : 255.255.255.0 Porta de ligação predefinida. . : 192.9.200.201
7. TRACERT
a) Função
Faz o rasteio dos nós percorridos para chegar ao contacto com um
computador definido.
b) Sintaxe do comando
tracert [-d] [-h m áximo_saltos] [-j
lista_anfitriões] [-w tempo de espera]
nome_destino
c) Opções
-d Não resolver endereços para nomes de anfitriões.
-h máximo_de_saltos N.º máximo de saltos para procurar o destino.
-j lista_anfitriões Encaminhamento de origem lato pela lista de
anfitriões.
-w tempo de espera Aguardar 'tempo de espera' milisegundos por cada
resposta.
d) Resultado
A rastear o encaminhamento para NOGUEIRO [192.9.200.151] até um máximo de 30 saltos:
1 1 ms. <10 ms. 1 ms. NOGUEIRO [192.9.200.151] Rasteio concluído.
8. NETSTAT
a) Função
Mostra informação sobre as liga ções actuais
TCP/IP de rede.
b) Sintaxe do comando
NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalo]
c) Opções
-a
Mostra todas as liga ções e portas de recep ção.
-e
Mostra
estatísticas
Ethernet.
Pode
ser
combinada com a opção -s
-n
Mostra endereços e números de portas sob forma
numérica.
-p proto
Mostra ligações para o protocolo especificado
por proto; proto deve ser TCP ou UDP.
Se
utilizada com a op ção
-s
para mostrar
estatísticas por protocolo, proto deve ser TCP,
UDP, ou IP.
-r
Mostra a tabela de encaminhamento.
-s
Mostra
estatísticas
por
protocolo.
Por
redefinição, as estatísticas são mostradas para
TCP, UDP e IP; a op ção -p pode ser utilizada
para especificar um subconjunto do intervalo
predefinido
intervalo
Volta a mostrar as estat ísticas seleccionadas,
esperando
'intervalo'
segundos
entre cada amostragem. Prima CTRL+C para parar
esta amostragem das estat ísticas. Se omitido,
netstat imprimirá uma vez a informa ção sobre a
configuração actual.
d) Resultado
Ligações activas
Proto
Endereço local
Endereço externo
Estado
9. Nslookup
a) Função
Mostra informação sobre o nome atribu ído a um
determinado IP no
âmbito do DNS (Domain Name
Server).
b) Sintaxe do comando
nslookup Endereço IP
c) Opções
Endereço IP
Número de identifica ção da máquina a
que se pretende ligar.
d) Resultado
Default Server: socrates.students.iscte.pt Address: 10.10.10.2
FTP
NAME
ftp - Internet file transfer program SYNOPSIS
ftp [ -v ] [ -d ] [ -i ] [ -n ] [ -g ] [ host ] DESCRIPTION
Ftp is the user interface to the Internet standard File Transfer Protocol. The program allows a user to transfer files to and from a remote network site.
The client host with which ftp is to communicate may be specified on the command line. If this is done, ftp will immediately attempt to establish a connection to an FTP server on that host; otherwise, ftp will enter its command interpreter and await instructions from the user. When ftp is awaiting commands from the user the prompt "ftp>" is provided to the user. The following commands are recognized by ftp:
! [ command [ args ] ]
Invoke an interactive shell on the local machine. If there are arguments, the first is taken to be a command to execute directly, with the rest of the arguments as its arguments.
$ macro-name [ args ]
Execute the macro macro-name that was defined with the macdef command. Arguments are passed to the macro unglobbed.
account [ passwd ]
Supply a supplemental password required by a remote system for access to resources once a login has been successfully completed. If no argument is included, the user will be prompted for an account password in a non-echoing input mode.
append local-file [ remote-file ]
Append a local file to a file on the remote machine. If remote-file is left unspecified, the local file name is used in naming the
remote file after being altered by any ntrans or nmap setting. File transfer uses the current settings for type, format, mode, and
structure. ascii
Set the file transfer type to network ASCII. This is the default type if ftp cannot determine the type of operating system running on the remote machine or the remote operating system is not UNIX.
bell Arrange that a bell be sounded after each file transfer command is completed.
binary
Set the file transfer type to support binary image transfer. This is the default type if ftp can determine that the remote machine is running UNIX.
bye Terminate the FTP session with the remote server and exit ftp. An end of file will also terminate the session and exit.
When case is on (default is off), remote computer file names with all letters in upper case are written in the local directory with the letters mapped to lower case.
cd remote-directory
Change the working directory on the remote machine to remote-directory.
cdup Change the remote machine working directory to the parent of the current remote machine working directory.
chmod mode file-name
Change the permission modes for the file file-name on the remote sytem to mode.
close
Terminate the FTP session with the remote server, and return to the command interpreter. Any defined macros are erased.
cr Toggle carriage return stripping during ascii type file retrieval. Records are denoted by a carriage return/linefeed sequence during ascii type file transfer. When cr is on (the default), carriage returns are stripped from this sequence to conform with the UNIX single linefeed record delimiter. Records on non-UNIX remote
systems may contain single linefeeds; when an ascii type transfer is made, these linefeeds may be distinguished from a record delimiter only when cr is off.
delete remote-file
Delete the file remote-file on the remote machine. debug [ debug-value ]
Toggle debugging mode. If an optional debug-value is specified it is used to set the debugging level. When debugging is on, ftp prints each command sent to the remote machine, preceded by the string "-->".
dir [ remote-directory ] [ local-file ]
Print a listing of the directory contents in the directory, remote-directory, and, optionally, placing the output in local-file. If interactive prompting is on, ftp will prompt the user to verify that the last argument is indeed the target local file for receiving dir output. If no directory is specified, the current working directory on the remote machine is used. If no local file is specified, or local-file is -, output comes to the terminal.
disconnect
A synonym for close. form format
Set the file transfer form to format. The default format is "file". get remote-file [ local-file ]
Retrieve the remote-file and store it on the local machine. If the local file name is not specified, it is given the same name it has on the remote machine, subject to alteration by the current case, ntrans, and nmap settings. The current settings for type, form, mode, and structure are used while transferring the file.
glob Toggle filename expansion for mdelete, mget and mput. If globbing is turned off with glob, the file name arguments are taken literally
and not expanded. Globbing for mput is done as in csh(1). For mdelete and mget, each remote file name is expanded separately on the remote machine and the lists are not merged. Expansion of a directory name is likely to be different from expansion of the name of an ordinary file: the exact result depends on the foreign
operating system and ftp server, and can be previewed by doing `mls remote-files -'. Note: mget and mput are not meant to
transfer entire directory subtrees of files. That can be done by transferring a tar(1) archive of the subtree (in binary mode). hash Toggle hash-sign (‘‘#'') printing for each data block transferred.
The size of a data block is 1024 bytes. help [ command ]
Print an informative message about the meaning of command. If no argument is given, ftp prints a list of the known commands.
idle [ seconds ]
Set the inactivity timer on the remote server to seconds seconds. If seconds is omitted, the current inactivity timer is printed. lcd [ directory ]
Change the working directory on the local machine. If no directory is specified, the user's home directory is used.
ls [ remote-directory ] [ local-file ]
Print a listing of the contents of a directory on the remote
machine. The listing includes any system-dependent information that the server chooses to include; for example, most UNIX systems will produce output from the command "ls -lA". (See also nlist.) If remote-directory is left unspecified, the current working directory is used. If interactive prompting is on, ftp will prompt the user to verify that the last argument is indeed the target local file for receiving ls output. If no local file is specified, or if local-file is -, the output is sent to the terminal.
macdef macro-name
Define a macro. Subsequent lines are stored as the macro macro-name; a null line (consecutive newline characters in a file or carriage returns from the terminal) terminates macro input mode. There is a limit of 16 macros and 4096 total characters in all defined macros. Macros remain defined until a close command is executed. The macro processor interprets '$' and '\' as special characters. A '$' followed by a number (or numbers) is replaced by the corresponding argument on the macro invocation command line. A '$' followed by an 'i' signals that macro processor that the
executing macro is to be looped. On the first pass '$i' is replaced by the first argument on the macro invocation command line, on the second pass it is replaced by the second argument, and so on. A '\' followed by any character is replaced by that character. Use the '\' to prevent special treatment of the '$'.
mdelete [ remote-files ]
Delete the remote-files on the remote machine. mdir remote-files local-file
Like dir, except multiple remote files may be specified. If
interactive prompting is on, ftp will prompt the user to verify that the last argument is indeed the target local file for receiving mdir
output.
mget remote-files
Expand the remote-files on the remote machine and do a get for each file name thus produced. See glob for details on the filename
expansion. Resulting file names will then be processed according to case, ntrans, and nmap settings. Files are transferred into the local working directory, which can be changed with `lcd directory'; new local directories can be created with `! mkdir directory'.
mkdir directory-name
Make a directory on the remote machine. mls remote-files local-file
Like nlist, except multiple remote files may be specified, and the local-file must be specified. If interactive prompting is on, ftp will prompt the user to verify that the last argument is indeed the target local file for receiving mls output.
mode [ mode-name ]
Set the file transfer mode to mode-name. The default mode is "stream" mode.
modtime file-name
Show the last modification time of the file on the remote machine. mput local-files
Expand wild cards in the list of local files given as arguments and do a put for each file in the resulting list. See glob for details of filename expansion. Resulting file names will then be processed according to ntrans and nmap settings.
newer file-name
Get the file only if the modification time of the remote file is more recent that the file on the current system. If the file does not exist on the current system, the remote file is considered newer. Otherwise, this command is identical to get.
nlist [ remote-directory ] [ local-file ]
Print a list of the files of a directory on the remote machine. If remote-directory is left unspecified, the current working directory is used. If interactive prompting is on, ftp will prompt the user to verify that the last argument is indeed the target local file for receiving nlist output. If no local file is specified, or if
local-file is -, the output is sent to the terminal. nmap [ inpattern outpattern ]
Set or unset the filename mapping mechanism. If no arguments are specified, the filename mapping mechanism is unset. If arguments are specified, remote filenames are mapped during mput commands and put commands issued without a specified remote target filename. If arguments are specified, local filenames are mapped during mget commands and get commands issued without a specified local target filename. This command is useful when connecting to a non-UNIX
remote computer with different file naming conventions or practices. The mapping follows the pattern set by inpattern and outpattern. Inpattern is a template for incoming filenames (which may have already been processed according to the ntrans and case settings). Variable templating is accomplished by including the sequences '$1', '$2', ..., '$9' in inpattern. Use '\' to prevent this special
literally, and are used to determine the nmap inpattern variable values. For example, given inpattern $1.$2 and the remote file name "mydata.data", $1 would have the value "mydata", and $2 would have the value "data". The outpattern determines the resulting mapped filename. The sequences '$1', '$2', ., '$9' are replaced by any value resulting from the inpattern template. The sequence '$0' is replace by the original filename. Additionally, the sequence
'[seq1,seq2]' is replaced by seq1 if seq1 is not a null string; otherwise it is replaced by seq2. For example, the command "nmap $1.$2.$3 [$1,$2].[$2,file]" would yield the output filename
"myfile.data" for input filenames "myfile.data" and
"myfile.data.old", "myfile.file" for the input filename "myfile", and "myfile.myfile" for the input filename ".myfile". Spaces may be included in outpattern, as in the example: nmap $1 |sed "s/ *$//" > $1 . Use the '\' character to prevent special treatment of the '$', '[', ']', and ',' characters.
ntrans [ inchars [ outchars ] ]
Set or unset the filename character translation mechanism. If no arguments are specified, the filename character translation
mechanism is unset. If arguments are specified, characters in remote filenames are translated during mput commands and put commands issued without a specified remote target filename. If arguments are specified, characters in local filenames are
translated during mget commands and get commands issued without a specified local target filename. This command is useful when
connecting to a non-UNIX remote computer with different file naming conventions or practices. Characters in a filename matching a
character in inchars are replaced with the corresponding character in outchars. If the character's position in inchars is longer than the length of outchars, the character is deleted from the file name. open host [ port ]
Establish a connection to the specified host FTP server. An optional port number may be supplied, in which case, ftp will attempt to contact an FTP server at that port. If the auto-login option is on (default), ftp will also attempt to automatically log the user in to the FTP server (see below).
prompt
Toggle interactive prompting. Interactive prompting occurs during multiple file transfers to allow the user to selectively retrieve or store files. If prompting is turned off (default is on), any mget or mput will transfer all files, and any mdelete will delete all files.
proxy ftp-command
Execute an ftp command on a secondary control connection. This
command allows simultaneous connection to two remote ftp servers for transferring files between the two servers. The first proxy command should be an open, to establish the secondary control connection. Enter the command "proxy ?" to see other ftp commands executable on the secondary connection. The following commands behave differently when prefaced by proxy: open will not define new macros during the auto-login process, close will not erase existing macro definitions, get and mget transfer files from the host on the primary control connection to the host on the secondary control connection, and put, mput, and append transfer files from the host on the secondary
control connection to the host on the primary control connection. Third party file transfers depend upon support of the ftp protocol PASV command by the server on the secondary control connection.
put local-file [ remote-file ]
Store a local file on the remote machine. If remote-file is left unspecified, the local file name is used after processing according to any ntrans or nmap settings in naming the remote file. File transfer uses the current settings for type, format, mode, and structure.
pwd Print the name of the current working directory on the remote machine.
quit A synonym for bye. quote arg1 arg2 ...
The arguments specified are sent, verbatim, to the remote FTP server.
recv remote-file [ local-file ] A synonym for get.
reget remote-file [ local-file ]
Reget acts like get, except that if local-file exists and is smaller than remote-file, local-file is presumed to be a partially
transferred copy of remote-file and the transfer is continued from the apparent point of failure. This command is useful when
transferring very large files over networks that are prone to dropping connections.
remotehelp [ command-name ]
Request help from the remote FTP server. If a command-name is specified it is supplied to the server as well.
remotestatus [ file-name ]
With no arguments, show status of remote machine. If file-name is specified, show status of file-name on remote machine.
rename [ from ] [ to ]
Rename the file from on the remote machine, to the file to. reset
Clear reply queue. This command re-synchronizes command/reply sequencing with the remote ftp server. Resynchronization may be necessary following a violation of the ftp protocol by the remote server.
restart marker
Restart the immediately following get or put at the indicated marker. On UNIX systems, marker is usually a byte offset into the file.
rmdir directory-name
Delete a directory on the remote machine. runique
Toggle storing of files on the local system with unique filenames. If a file already exists with a name equal to the target local
filename for a get or mget command, a ".1" is appended to the name. If the resulting name matches another existing file, a ".2" is
appended to the original name. If this process continues up to ".99", an error message is printed, and the transfer does not take place. The generated unique filename will be reported. Note that