Mostrando postagens com marcador protocolo de rede. Mostrar todas as postagens
Mostrando postagens com marcador protocolo de rede. Mostrar todas as postagens

terça-feira, 15 de novembro de 2022

Protocolo HTTP - RFCs


Lista das principais RFCs para o protocolo HTTP.

 _________________________________________
As informações contidas acima tem como referência as RFCs do protocolo HTTP (Hypertext Transfer Protocol) publicadas pelo IETF (Internet Engineering Taskforce).

sexta-feira, 27 de outubro de 2017

Protocolo HTTP - Request Header Fields


Campos do Cabeçalho de Requisição do protocolo HTTP
O cabeçalho de solicitação HTTP utiliza alguns campos para fornecer mais informações sobre o contexto de uma determinada requisição. Esses campos atuam como modificadores da solicitação, semelhantes aos parâmetros em uma invocação de método em uma linguagem de programação.

  • Controls (Direciona o tratamento específico da solicitação)
      • Cache-Control
      • Expect
      • Host
      • Max-Forwards
      • Pragma
      • Range
      • TE

  • Conditionals (Precondition Header Fields)
      • If-Match
      • If-None-Match
      • If-Modified-Since
      • If-Unmodified-Since
      • If-Range

  • Content Negotiation (Negociação proativa do conteúdo da resposta)
      • Accept
      • Accept-Charset
      • Accept-Encoding
      • Accept-Language

  • Authentication Credentials (Transporte de credenciais de autenticação)
      • Authorization
      • Proxy-Authorization

  • Request Context (Informações sobre o usuário, user agent e recurso por trás da solicitação)
      • From
      • Referer
      • User-Agent

     _________________________________________
    As informações contidas acima tem como referência as RFCs 7230, 7231, 7232, 7233, 7234 e 7235 publicadas pelo IETF (Internet Engineering Taskforce).

    quinta-feira, 26 de outubro de 2017

    Protocolo HTTP - Response Header Fields


    Campos do Cabeçalho de Resposta do protocolo HTTP
    Os campos de cabeçalho de resposta permitem que o servidor passe informações adicionais sobre a resposta além do que é informado na linha de status.

  • Control Data (Fornecem dados de controles complementares)
      • Age
      • Cache-Control
      • Date
      • Expires
      • Location
      • Retry-After
      • Vary
      • Warning

  • Validator (Transmitem metadados sobre a representação selecionada)
      • ETag
      • Last-Modified

  • Authentication Challenges (Indicam quais mecanismos estão disponíveis para o cliente fornecer credenciais de autenticação em solicitações futuras)
      • Proxy-Authenticate
      • WWW-Authenticate

  • Response Context (Fornecem informações sobre o recurso de destino para uso potencial em solicitações posteriores)
      • Accept-Ranges
      • Allow
      • Server

     _________________________________________
    As informações contidas acima tem como referência as RFCs 7231, 7232, 7233, 7234 e 7235 publicadas pelo IETF (Internet Engineering Taskforce).

    quarta-feira, 25 de outubro de 2017

    Protocolo HTTP - Response Status Code


    Códigos de Status de Resposta do protocolo HTTP

    1xx (Informational): A requisição foi recebida, continuando o processo
    • 100: Continue
    • 101: Switching Protocols


    2xx (Successful): A requisição foi recebida, compreendida e aceita com sucesso
    • 200: OK
    • 201: Created
    • 202: Accepted
    • 203: Non-Authoritative Information
    • 204: No Content
    • 205: Reset Content
    • 206: Partial Content


    3xx (Redirection): Indica que outras ações precisam ser tomadas para atender a requisição
    • 300: Multiple Choices
    • 301: Moved Permanently
    • 302: Found
    • 303: See Other
    • 304: Not Modified 
    • 305: Use Proxy
    • 307: Temporary Redirect


    4xx (Client Error): A requisição contém uma sintaxe incorreta ou não pode ser atendida
    • 400: Bad Request
    • 401: Unauthorized   
    • 402: Payment Required
    • 403: Forbidden
    • 404: Not Found
    • 405: Method Not Allowed
    • 406: Not Acceptable
    • 407: Proxy Authentication Required 
    • 408: Request Timeout
    • 409: Conflict
    • 410: Gone
    • 411: Length Required
    • 412: Precondition Failed  
    • 413: Payload Too Large
    • 414: URI Too Long
    • 415: Unsupported Media Type
    • 416: Range Not Satisfiable
    • 417: Expectation Failed
    • 426: Upgrade Required


    5xx (Server Error): O servidor não atendeu a uma requisição aparentemente válida
    • 500: Internal Server Error
    • 501: Not Implemented
    • 502: Bad Gateway
    • 503: Service Unavailable
    • 504: Gateway Timeout
    • 505: HTTP Version Not Supported

     _________________________________________
    As informações contidas acima tem como referência as RFCs 7231, 7232, 7233 e 7235 publicadas pelo IETF (Internet Engineering Taskforce).

    domingo, 20 de agosto de 2017

    Protocolo HTTP - Request Methods


    Métodos de Requisição do protocolo HTTP

    • CONNECT
      Estabelece um túnel para o servidor identificado pelo recurso de destino.

    • DELETE
      Exclusão de dados. Remove todas as representações atuais do recurso de destino.

    • GET
      Requisição de transferência de um recurso. Segundo a RFC o método realizar uma requisição de transferência de uma representação atual do recurso de destino. É o principal mecanismo de recuperação de informações via HTTP. A resposta a uma solicitação GET pode ser armazenada em cache podendo satisfazer as solicitações GET e HEAD subsequentes.

    • HEAD
      Similar ao método GET porém transfere apenas a linha de status e a seção de cabeçalho. Esse método pode ser usado para obter metadados sobre o recurso solicitado sem a transferência do mesmo. É frequentemente usado para testar links de hipertexto quanto à validade, acessibilidade e atualizações recentes.

    • OPTIONS
      Descreve as opções de comunicação para o recurso de destino.

    • POST
      Faz o envio de dados para serem processados por um recurso específico. Requisição para que o recurso de destino processe os dados incluído na solicitação. O POST é usado por exemplo para postar uma mensagem, anexar dados, e envio de dados do usuário (como os campos inseridos em um formulário HTML).

    • PUT
      Insere ou substitui novos dados. Substitui todas as representações atuais do recurso de destino pela carga útil da solicitação.

    • TRACE
      Executa um teste de loopback de mensagem ao longo do caminho para o recurso de destino. O TRACE permite que o cliente veja o que está sendo recebido na outra extremidade da cadeia de requisições e use esses dados para testes ou informações de diagnóstico. As respostas ao método TRACE não podem ser armazenadas em cache.

     _________________________________________
    As informações contidas acima tem como referência a RFC7231 publicada pelo IETF (Internet Engineering Taskforce).

    quinta-feira, 15 de junho de 2017

    Firewall Cisco ASA - Troubleshooting DNS


    Atualizar registro de nomes

     # dns update



    Atualizar registro de nomes para um host específico

     # dns update host <hostname / fqdn>



    Limpar cache DNS

     # clear dns-hosts cache



    Limpar registro de nomes (Para o conteúdo em cache no sistema)

     # clear dns host <hostname / fqdn>



    Remover configurações de DNS

     # clear configure dns



    Especificar valor de timeout para os registros de nomes

     # dns update timeout seconds <valor em segundos>



    Depurar mensagens de resolução de nomes

     # debug dns resolver


     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio equipamento. Para o exemplo mostrado foi utilizado um Firewall Cisco ASA modelo 5510 com versão de software 9.1.

    segunda-feira, 5 de junho de 2017

    Firewall Cisco ASA - Comandos para verificação do serviço DNS


    Verificar configurações de DNS

     # show running-config dns



    Realizar testes de resolução de nomes (Consulta DNS)

     # ping <hostname / fqdn>



    Realizar consulta de nomes (Para o conteúdo em cache no sistema)

     # show dns host <hostname / fqdn>



    Visualizar o conteúdo em cache no sistema (Registro de nomes ativos)

     # show dns



     # show dns-hosts


     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio equipamento. Para o exemplo mostrado foi utilizado um Firewall Cisco ASA modelo 5510 com versão de software 9.1.

    sexta-feira, 2 de junho de 2017

    Firewall Cisco ASA - Configurando serviço DNS


    CONFIGURAÇÃO BÁSICA

    Definir nome de domínio

     (config)# domain-name <nome do domínio>



    Habilitar serviço DNS nas interfaces

     (config)# dns domain-lookup <nome da interface>



    Definir servidor DNS

     (config)# dns name-server <endereço do servidor DNS>




    CONFIGURAR SERVER-GROUP

    O firewall utiliza o server-group DefaultDNS para atender a requisições de DNS de saída. Esse grupo pode ser utilizado, por exemplo, na configuração de perfis de acesso VPN. Para a alteração dos parâmetros do group DefaultDNS utilize os comandos abaixo:


     (config)# dns server-group DefaultDNS




     (config-dns-server-group)# name-server <endereço do servidor DNS>



     (config-dns-server-group)# domain-name <nome do domínio>




    CONFIGURAÇÕES OPCIONAIS

    Definir período de validade para os registros de nomes

     (config)# dns expire-entry-timer minutes <valor em minutos>



    Definir intervalo de atualização dos registros

     (config)# dns poll-timer minutes <valor em minutos>



    Definir tempo de espera para realizar nova consulta DNS

     (config)# dns timeout <valor em segundos>



    Definir número de tentativas para as consultas DNS

     (config)# dns retries <número de tentativas>




    VALIDAR SERVIÇO DNS

    Realizar testes de resolução de nomes (Consulta DNS)

     # ping <hostname / fqdn>



    Visualizar o conteúdo em cache no sistema (Registro de nomes ativos)

     # show dns



     # show dns-hosts


     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio equipamento. Para o exemplo mostrado foi utilizado um Firewall Cisco ASA modelo 5510 com versão de software 9.1.

    sábado, 2 de abril de 2016

    Linux - Comandos Básicos - Verificar configuração de DNS


    Visualizar nome do computador / estação de trabalho

     $ hostname



    Visualizar nome de domínio

     $ domainname

    O comando permite visualizar e alterar o nome de domínio NIS (Network Information Service).

    Opções mais comuns
    -d: Permite visualizar o nome de domínio DNS (= comando dnsdomainname)
    -f: Permite visualizar o nome completo do host (fqdn)
    -i: Permite visualizar o endereço IP associado ao nome de domínio


    Realizar consulta básica de DNS

     $ dig [URL/FQDN]

    ou

     $ nslookup [URL/FQDN]



    Realizar consulta em um servidor específico

     $ dig @[nome do servidor] [URL/FQDN]

    ou

     $ nslookup [URL/FQDN] [nome do servidor]

    Os comandos dig e nslookup são utilizados para realizar consultas de nomes em servidores DNS. É possível efetuar consultas para registros de diferentes tipos (NS, MX, Ponteiro, SOA, etc).

    _______________________________________________

    Todos os comandos shell relacionados neste post são baseados na distribuição Linux Debian. As informações contidas acima tem como referência o próprio sistema operacional através de seus guias de ajuda e informações obtidas através do site GNU.org.

    quarta-feira, 23 de março de 2016

    Linux - Comandos Básicos - Configuração de DNS (Client)


    Definir hostname

     # hostnamectl set-hostname <nome do host>



    Definir nome de domínio (Editar o arquivo hosts)

     # vim /etc/hosts

    Para definir um domínio para o sistema é necessário alterar o arquivo hosts e adicionar uma linha com as informações de IP (Localhost), hostmane e domínio (<endereço IP> <hostname>.<nome de domínio> <hostname>). O comando utilizado acima está utilizando o editor de texto vim, presente no Linux.


    Adicionar servidor de DNS (Editar o arquivo resolv.conf)

     # vim /etc/resolv.conf

    Para configurar um servidor de DNS para ser utilizado pelo sistema é necessário editar o arquivo resolv.conf. Você pode utilizar o editor de texto vim para adicionar uma linha com o parâmetro nameserver seguido do endereço IP do servidor DNS.


    _______________________________________________

    Todos os comandos shell relacionados neste post são baseados na distribuição Linux Debian. As informações contidas acima tem como referência o próprio sistema operacional através de seus guias de ajuda e informações obtidas através do site GNU.org.

    domingo, 4 de outubro de 2015

    Protocolo TCP - Estado das conexões


     O protocolo TCP (Transmission Control Protocol) utiliza várias nomenclaturas para definir o estado das conexões durante o seu tempo de vida. Uma conexão TCP passa de um estado para outro em resposta aos eventos gerados pelos usuários. A lista abaixo mostra o significado de cada um dos estados de uma conexão TCP.

    • CLOSED: Estado do protocolo quando não há conexão.

    • CLOSE-WAIT: O protocolo está à espera de uma solicitação de encerramento de conexão do usuário local.

    • CLOSING: Representa a espera de uma confirmação (acknowledgment) de solicitação de encerramento de conexão do host remoto.

    • ESTABLISHED: É o estado normal para a fase de transferência de dados. Representa uma conexão aberta/estabelecida conexão aberta com um host remoto. 

    • FIN-WAIT-1: Representa a espera de uma solicitação de encerramento de conexão de um host remoto ou uma confirmação da solicitação de término de conexão enviada anteriormente.

    • FIN-WAIT-2: Representa a espera de uma solicitação de encerramento de conexão de um host remoto.

    • LAST-ACK: Representa a espera de uma confirmação da solicitação de término de conexão enviada anteriormente ao host remoto (que inclui uma confirmação de sua solicitação de término de conexão).

    • LISTEN: Aguardando uma solicitação de conexão de qualquer host remoto.

    • SYN-SENT: Representa a espera de uma solicitação de conexão correspondente após ter enviado um pedido de conexão.

    • SYN-RECEIVED: Representa a espera de uma confirmação (acknowledgment) para uma solicitação de conexão após ter recebido e enviado um pedido de conexão.

    • TIME-WAIT: Representa a espera de tempo suficiente para ter certeza de que o host remoto recebeu a confirmação de sua solicitação de término de conexão.

     _________________________________________
    As informações contidas acima tem como referência a RFC793 publicada pelo IETF (Internet Engineering Taskforce).

    sexta-feira, 2 de outubro de 2015

    Protocolo TCP - Flags de Controle


     - ACK (Acknowledge)
       . Confirmação de recebimento do pacote.
       . Representação Binária: 010000 / Hexa:0x010 / Decimal:16

    - CWR (Congestion Window Reduced)
       . Sinalizador de janela de congestionamento reduzido.
       .  Confirma o recebimento da flag ECN-Echo.
       . Representação Binária: 10000000 / Hexa:0x080 / Decimal:128

    - ECE (ECN-Echo)
       . Indicador de congestionamento de rede.
       . Representação Binária: 01000000 / Hexa:0x040 / Decimal:64

    - FIN (Finish)
       . Encerra a conexão.
       . Sinaliza o fim da transmissão.
       .  Representação Binária: 000001 / Hexa:0x001 / Decimal: 1

    - PSH (Push)
       . Função de push.
       . Envio de dados do remetente ao destinatário.
       . Representação Binária: 001000 / Hexa:0x008 / Decimal: 8

    - RST (Reset)
       . Redefinir a conexão.
       . Essa flag pode interromper a conexão ou bloquear tentativas não autorizadas.
       . Representação Binária: 000100 / Hexa:0x004 / Decimal:4

    - SYN (Synchrorize)
       . Sincronizar números de sequência.
       . Usado no início de uma conexão TCP.
       . Representação Binária: 000010 / Hexa:0x002 / Decimal:2

    - URG (Urgent)
       . Campo de sinalização de urgência.
       . Representação Binária: 100000 / Hexa:0x020 / Decimal:32

     _________________________________________
    As informações contidas acima tem como referência as RFCs 793 e 3168 publicadas pelo IETF (Internet Engineering Taskforce).

    domingo, 12 de junho de 2011

    Cisco - Roteador - Troubleshooting DHCP



    Efetuar reserva de endereço IP

     # ip dhcp pool <nome do pool> address <endereço IP> hardware-address <endereço MAC>



    Remover endereço da base de dados do DHCP

     # clear ip dhcp binding <endereço IP>



    Remover todos os endereços da base de dados do DHCP

     #  clear ip dhcp binding *



    Remover conflito de endereçamento de um endereço específico (Base de dados do DHCP)

     # clear ip dhcp conflict <endereço IP>



    Remover conflito de endereçamento de todos os endereços da base de dados do DHCP

     # clear ip dhcp conflict *



    Limpar estatísticas do servidor DHCP

     # clear ip dhcp server statistics



    Debuging DHCP

     # debug ip dhcp server (class | events | linkage | packets)


     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio sistema IOS. Para o exemplo mostrado foi utilizado um roteador Cisco modelo C1841 com versão de software 12.4.

    sexta-feira, 10 de junho de 2011

    Cisco - Roteador - Verificar configuração do DHCP



    Listar pools de IP configurados

     # show ip dhcp pool



    Verificar lista de IPs atribuidos pelo DHCP Server

     # show ip dhcp binding



    Verificar endereço IP (específico) atribuido pelo DHCP Server

     # show ip dhcp binding <endereço IP>



    Verificar conflito de endereçamento IP

     # show ip dhcp conflict



    Verificar estatísticas do servidor DHCP (Número de mensagens enviadas e recebidas)

     # show ip dhcp server statistics



    Verificar informações do banco de dados de IPs

     # show ip dhcp database



    Verificar informações do DHCP Relay

     # show ip dhcp relay info trust


     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio sistema IOS. Para o exemplo mostrado foi utilizado um roteador Cisco modelo C1841 com versão de software 12.4.

    quinta-feira, 9 de junho de 2011

    Cisco - Roteador - Comandos para configuração do DHCP (Dynamic Host Configuration Protocol)



    Criar pool de endereços IP (Habilitar o serviço de DHCP)

     (config)#ip dhcp pool <nome do pool>


    Definir range de IPs

     (dhcp-config)#network <endereço da rede> <máscara de rede>


    Definir endereço do default-gateway (Atribuído aos clientes do DHCP)

     (dhcp-config)#default-router <endereço IP do gateway>


    Definir endereço do servidor de DNS (Atribuído aos clientes do DHCP)

     (dhcp-config)#dns-server <endereço IP do DNS>


    Definir nome de domínio (Atribuído aos clientes do DHCP)

     (dhcp-config)#domain-name <nome do domínio>




    COMANDOS OPCIONAIS

    Efetuar reserva de endereço IP

     # ip dhcp pool <nome do pool> address <endereço IP> hardware-address <endereço MAC>



    Excluir endereço IP do pool (O endereço não será atribuído aos clientes do DHCP)

     #ip dhcp excluded-address <endereço IP>


     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio sistema IOS. Para o exemplo mostrado foi utilizado um roteador Cisco modelo C1841 com versão de software 12.4.

    quarta-feira, 17 de novembro de 2010

    Cisco - Roteador - Troubleshooting SSH



    Verificar informações de configuração do SSH

      Router> show ip ssh



    Verificar status de conexões SSH ativas

      Router> show ssh



    Visualizar informações das chaves públicas associadas ao roteador

      Router> show crypto key mypubkey rsa



    Apagar par de chaves RSA

      Router(config)# crypto key zeroize rsa



    Gerar par de chaves RSA

      Router(config)# crypto key generate rsa


     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio sistema IOS. Para o exemplo mostrado foi utilizado um roteador Cisco modelo C1841 com versão de software 12.4.

    segunda-feira, 15 de novembro de 2010

    Cisco - Roteador - Configurando acesso via SSH



    Para habilitar o acesso SSH em um roteador Cisco é necessário cumprir algumas etapas como a definição de um nome para o dispositivo, a criação de uma conta administrativa para acesso, a definição do nome de domínio e a criação de um par de chaves RSA utilizado para a criptografia da sessão. Seguem abaixo os comandos sequenciais necessários para a ativação do recurso.


    PRÉ-REQUISITOS

    Definir um hostname para o dispositivo

      Router(config)# hostname <nome do roteador>



    Definir um nome de domínio DNS


      Router(config)# ip domain-name <nome de domínio>




    CONFIGURAÇÃO DA CONTA DE USUÁRIO PARA ACESSO REMOTO

    Habilitar serviço de controle de acesso

      Router(config)# aaa new-model



    Criar conta de usuário local

      Router(config)# username <usuário> privilege 15 password <senha>




    CONFIGURAÇÃO DO SSH

    Gerar par de chaves RSA

      Router(config)# crypto key generate rsa

    Defina uma chave de no mínimo 1024 bits. Essas chaves serão utilizadas pelo protocolo SSH para criptografar os dados trafegados durante a conexão remota.


    Ativar serviço SSH (Definir versão do SSH)


      Router(config)# ip ssh version 2



    Habilitar o acesso SSH nas interfaces virtuais (Terminal Virtual)


      Router(config)# line vty 0 4
     
     Router(config-line)# transport input ssh
     
     Router(config-line)# login local

    O acesso remoto ao roteador é realizado através das interfaces virtuais "line vty". O comando "login local" indica que a conta utilizada para o acesso será a conta de usuário criada localmente.



    DEFINIR PARÂMETROS DE SESSÃO DO SSH (OPCIONAL)

    Definir tempo de timeout

      Router(config)# ip ssh time-out <valor em segundos>



    Definir número máximo de tentatvas de autenticação (Tentativas com falha)


      Router(config)#ip ssh authentication-retries <número de tentativas>



     _________________________________________
    As informações contidas neste post são baseadas em documentos publicados no site da Cisco e obtidas através da experiência com o próprio sistema IOS. Para o exemplo mostrado foi utilizado um roteador Cisco modelo C1841 com versão de software 12.4.