·
Análise de Sistemas ·
Linguagens de Programação
Send your question to AI and receive an answer instantly
Recommended for you
119
Plano de Execucao Projeto Integrador - Desenvolvimento Aplicacao Web HTML CSS JavaScript
Linguagens de Programação
UCPEL
2
Plano de Execucao - Aplicacao Distribuida Troca Mensagens C MQTT
Linguagens de Programação
UCPEL
4
Plano de Execucao - Aplicacao Web com MVC e Frameworks para Instituto de Menores
Linguagens de Programação
UCPEL
2
Plano de Execucao - Desenvolvimento de Aplicacoes Web Orientadas a Objetos
Linguagens de Programação
UCPEL
4
Plano de Execução para Desenvolvimento de Aplicação Web
Linguagens de Programação
UCPEL
3
API REST com CRUD em JSON - Projeto Integrador IVB
Linguagens de Programação
UCPEL
2
Monitor Básico da Rede em Linguagem C
Linguagens de Programação
UCPEL
1
Plano de Execucao - Desenvolvimento de Aplicacoes Web Orientadas a Objetos
Linguagens de Programação
UCPEL
Preview text
Relatório Final 1 Resumo das Atividades Práticas O presente relatório documenta o desenvolvimento de um programa em C que recebe um endereço IP podendo ser IPv4 ou IPv6 identifica o tipo de IP fornecido executa o comando ping para verificar a conectividade com o endereço e imprime o resultado do comando exibindo informações úteis para o monitoramento da rede 2 Ambiente de Desenvolvimento O ambiente utilizado para o desenvolvimento da aplicação é descrito abaixo Sistema Operacional Ubuntu 22043 LTS Compilador GCC GNU Compiler Collection versão 1140 Editor de TextoIDE Visual Studio Code com extensões para desenvolvimento em CC Ferramentas de Rede ping para coleta de informações de rede Esse ambiente foi escolhido pela estabilidade e suporte ao desenvolvimento de aplicações em C com ferramentas de diagnóstico de rede muito utilizadas 3 Procedimentos Realizados Os procedimentos para o desenvolvimento da aplicação envolveram as seguintes etapas 1 Identificação do Tipo de IP A aplicação começa solicitando ao usuário a entrada de um endereço IP Foram implementadas funções para verificar se o endereço IP fornecido é do tipo IPv4 ou IPv6 utilizando expressões regulares para validação 2 Execução do Comando ping O programa utiliza o comando ping para verificar a conectividade com o IP fornecido A saída do comando ping é impressa na tela para exibir as informações de rede pedidas 3 Testes Realizouse a verificação da funcionalidade do código com diferentes endereços IP tanto válidos quanto inválidos para garantir que o código funcionava corretamente em todos os casos 4 Funcionalidades da Aplicação Desenvolvida A aplicação foi desenvolvida com as seguintes funcionalidades principais Identificação de IPv4 e IPv6 A aplicação é capaz de identificar e validar o tipo de IP fornecido pelo usuário Teste de Conectividade ping Executa o comando ping e imprime a saída completa no terminal 5 Capturas de Tela a Execução da Aplicação Figura 1 Execução do programa com um endereço IPv4 válido fornecido pelo usuário Figura 2 Execução do programa com um endereço IPv6 válido fornecido pelo usuário 6 Códigos Correspondentes à Aplicação A seguir é apresentado o códigofonte completo da aplicação desenvolvida include regexh include stdioh include stdlibh include stringh int isvalidipv4octetconst char octet int num atoioctet if num 0 num 255 return 0 return 1 int isipv4const char ip char ipcopy100 char token int count 0 Faz uma cópia da string de IP para não modificar o original strcpyipcopy ip Split da string por token strtokipcopy while token NULL count Verifica se cada parte é um número válido entre 0 e 255 if isvalidipv4octettoken return 0 token strtokNULL O IPv4 deve ter exatamente 4 octetos return count 4 int isipv6const char ip A implementação do IPv6 permanece a mesma regext regex int ret const char pattern 09afAF ret regcompregex pattern REGEXTENDED if ret fprintfstderr Could not compile regex exit1 ret regexecregex ip 0 NULL 0 regfreeregex return ret void pingipconst char ip char command100 FILE fp char result1024 snprintfcommand sizeofcommand ping c 4 s ip fp popencommand r if fp NULL printfFailed to run command exit1 while fgetsresult sizeofresult fp NULL printfs result pclosefp int main char ip100 printfEstas são as informações do monitor de rede do Vinicius soares printfEnter IP address IPv4 or IPv6 scanf99s ip if isipv4ip printfIP type IPv4 else if isipv6ip printfIP type IPv6 else printfInvalid IP address format return 1 printfPinging s ip pingipip return 0 Relatório Final 1 Resumo das Atividades Práticas O presente relatório documenta o desenvolvimento de um programa em C que recebe um endereço IP podendo ser IPv4 ou IPv6 identifica o tipo de IP fornecido executa o comando ping para verificar a conectividade com o endereço e imprime o resultado do comando exibindo informações úteis para o monitoramento da rede 2 Ambiente de Desenvolvimento O ambiente utilizado para o desenvolvimento da aplicação é descrito abaixo Sistema Operacional Ubuntu 22043 LTS Compilador GCC GNU Compiler Collection versão 1140 Editor de TextoIDE Visual Studio Code com extensões para desenvolvimento em CC Ferramentas de Rede ping para coleta de informações de rede Esse ambiente foi escolhido pela estabilidade e suporte ao desenvolvimento de aplicações em C com ferramentas de diagnóstico de rede muito utilizadas 3 Procedimentos Realizados Os procedimentos para o desenvolvimento da aplicação envolveram as seguintes etapas 1 Identificação do Tipo de IP A aplicação começa solicitando ao usuário a entrada de um endereço IP Foram implementadas funções para verificar se o endereço IP fornecido é do tipo IPv4 ou IPv6 utilizando expressões regulares para validação 2 Execução do Comando ping O programa utiliza o comando ping para verificar a conectividade com o IP fornecido A saída do comando ping é impressa na tela para exibir as informações de rede pedidas 3 Testes Realizouse a verificação da funcionalidade do código com diferentes endereços IP tanto válidos quanto inválidos para garantir que o código funcionava corretamente em todos os casos 4 Funcionalidades da Aplicação Desenvolvida A aplicação foi desenvolvida com as seguintes funcionalidades principais Identificação de IPv4 e IPv6 A aplicação é capaz de identificar e validar o tipo de IP fornecido pelo usuário Teste de Conectividade ping Executa o comando ping e imprime a saída completa no terminal 5 Capturas de Tela a Execução da Aplicação Figura 1 Execução do programa com um endereço IPv4 válido fornecido pelo usuário Figura 2 Execução do programa com um endereço IPv6 válido fornecido pelo usuário 6 Códigos Correspondentes à Aplicação A seguir é apresentado o códigofonte completo da aplicação desenvolvida include regexh include stdioh include stdlibh include stringh int isvalidipv4octetconst char octet int num atoioctet if num 0 num 255 return 0 return 1 int isipv4const char ip char ipcopy100 char token int count 0 Faz uma cópia da string de IP para não modificar o original strcpyipcopy ip Split da string por token strtokipcopy while token NULL count Verifica se cada parte é um número válido entre 0 e 255 if isvalidipv4octettoken return 0 token strtokNULL O IPv4 deve ter exatamente 4 octetos return count 4 int isipv6const char ip A implementação do IPv6 permanece a mesma regext regex int ret const char pattern 09afAF ret regcompregex pattern REGEXTENDED if ret fprintfstderr Could not compile regex exit1 ret regexecregex ip 0 NULL 0 regfreeregex return ret void pingipconst char ip char command100 FILE fp char result1024 snprintfcommand sizeofcommand ping c 4 s ip fp popencommand r if fp NULL printfFailed to run command exit1 while fgetsresult sizeofresult fp NULL printfs result pclosefp int main char ip100 printfEstas são as informações do monitor de rede do Vinicius soares printfEnter IP address IPv4 or IPv6 scanf99s ip if isipv4ip printfIP type IPv4 else if isipv6ip printfIP type IPv6 else printfInvalid IP address format return 1 printfPinging s ip pingipip return 0 Código para testes pela URL ou nome de dispositivo include stdioh include stdlibh include stringh Função para realizar o comando ping no domínio IP ou nome do dispositivo fornecido void pingaddressconst char address char command100 Buffer para armazenar o comando ping FILE fp Ponteiro para manipular a saída do comando char result1024 Buffer para armazenar os resultados do ping Monta o comando ping usa c 4 para enviar 4 pacotes no Linux no Windows seria ping n 4 snprintfcommand sizeofcommand ping c 4 s address Abre um pipe para executar o comando fp popencommand r if fp NULL Caso falhe ao abrir o pipe exibe uma mensagem de erro printfFailed to run command exit1 Sai do programa com erro Lê e imprime cada linha da saída do comando ping while fgetsresult sizeofresult fp NULL printfs result Fecha o pipe pclosefp int main char address100 Buffer para armazenar o endereço IP URL ou nome do dispositivo inserido pelo usuário Exibe uma introdução printfEstas são as informações do monitor de rede do Vinicius Soares Solicita ao usuário que insira um endereço printfEnter IP address domain or device name scanf99s address Lê o endereço informado pelo usuário Realiza o comando ping no endereço fornecido printfPinging s address pingaddressaddress return 0 Encerra o programa com sucesso Usamos o mesmo conceito geral do código porém não é necessário diferenciar entre IP e nome de domínio pois ferramentas de rede como ping e nslookup aceitam diretamente um nome de domínio ex wwwgooglecom ou o nome de um dispositivo na rede O que foi alterado no código 1 Removemos a distinção entre IPv4 IPv6 e domínio não precisamos mais verificar se é um IP porque pode ser tanto um nome de domínio um nome de host ou um IP O comando ping pode resolver automaticamente o nome de domínio para um IP 2 Mantemos a estrutura para realizar o ping podemos simplesmente executar o comando ping com o valor inserido seja ele um IP ou um nome de domínio Referências bibliográficas Tanenbaum A S 2011 Redes de Computadores Pearson Education Kurose J F Ross K W 2013 Redes de Computadores Um Enfoque TopDown Pearson Education
Send your question to AI and receive an answer instantly
Recommended for you
119
Plano de Execucao Projeto Integrador - Desenvolvimento Aplicacao Web HTML CSS JavaScript
Linguagens de Programação
UCPEL
2
Plano de Execucao - Aplicacao Distribuida Troca Mensagens C MQTT
Linguagens de Programação
UCPEL
4
Plano de Execucao - Aplicacao Web com MVC e Frameworks para Instituto de Menores
Linguagens de Programação
UCPEL
2
Plano de Execucao - Desenvolvimento de Aplicacoes Web Orientadas a Objetos
Linguagens de Programação
UCPEL
4
Plano de Execução para Desenvolvimento de Aplicação Web
Linguagens de Programação
UCPEL
3
API REST com CRUD em JSON - Projeto Integrador IVB
Linguagens de Programação
UCPEL
2
Monitor Básico da Rede em Linguagem C
Linguagens de Programação
UCPEL
1
Plano de Execucao - Desenvolvimento de Aplicacoes Web Orientadas a Objetos
Linguagens de Programação
UCPEL
Preview text
Relatório Final 1 Resumo das Atividades Práticas O presente relatório documenta o desenvolvimento de um programa em C que recebe um endereço IP podendo ser IPv4 ou IPv6 identifica o tipo de IP fornecido executa o comando ping para verificar a conectividade com o endereço e imprime o resultado do comando exibindo informações úteis para o monitoramento da rede 2 Ambiente de Desenvolvimento O ambiente utilizado para o desenvolvimento da aplicação é descrito abaixo Sistema Operacional Ubuntu 22043 LTS Compilador GCC GNU Compiler Collection versão 1140 Editor de TextoIDE Visual Studio Code com extensões para desenvolvimento em CC Ferramentas de Rede ping para coleta de informações de rede Esse ambiente foi escolhido pela estabilidade e suporte ao desenvolvimento de aplicações em C com ferramentas de diagnóstico de rede muito utilizadas 3 Procedimentos Realizados Os procedimentos para o desenvolvimento da aplicação envolveram as seguintes etapas 1 Identificação do Tipo de IP A aplicação começa solicitando ao usuário a entrada de um endereço IP Foram implementadas funções para verificar se o endereço IP fornecido é do tipo IPv4 ou IPv6 utilizando expressões regulares para validação 2 Execução do Comando ping O programa utiliza o comando ping para verificar a conectividade com o IP fornecido A saída do comando ping é impressa na tela para exibir as informações de rede pedidas 3 Testes Realizouse a verificação da funcionalidade do código com diferentes endereços IP tanto válidos quanto inválidos para garantir que o código funcionava corretamente em todos os casos 4 Funcionalidades da Aplicação Desenvolvida A aplicação foi desenvolvida com as seguintes funcionalidades principais Identificação de IPv4 e IPv6 A aplicação é capaz de identificar e validar o tipo de IP fornecido pelo usuário Teste de Conectividade ping Executa o comando ping e imprime a saída completa no terminal 5 Capturas de Tela a Execução da Aplicação Figura 1 Execução do programa com um endereço IPv4 válido fornecido pelo usuário Figura 2 Execução do programa com um endereço IPv6 válido fornecido pelo usuário 6 Códigos Correspondentes à Aplicação A seguir é apresentado o códigofonte completo da aplicação desenvolvida include regexh include stdioh include stdlibh include stringh int isvalidipv4octetconst char octet int num atoioctet if num 0 num 255 return 0 return 1 int isipv4const char ip char ipcopy100 char token int count 0 Faz uma cópia da string de IP para não modificar o original strcpyipcopy ip Split da string por token strtokipcopy while token NULL count Verifica se cada parte é um número válido entre 0 e 255 if isvalidipv4octettoken return 0 token strtokNULL O IPv4 deve ter exatamente 4 octetos return count 4 int isipv6const char ip A implementação do IPv6 permanece a mesma regext regex int ret const char pattern 09afAF ret regcompregex pattern REGEXTENDED if ret fprintfstderr Could not compile regex exit1 ret regexecregex ip 0 NULL 0 regfreeregex return ret void pingipconst char ip char command100 FILE fp char result1024 snprintfcommand sizeofcommand ping c 4 s ip fp popencommand r if fp NULL printfFailed to run command exit1 while fgetsresult sizeofresult fp NULL printfs result pclosefp int main char ip100 printfEstas são as informações do monitor de rede do Vinicius soares printfEnter IP address IPv4 or IPv6 scanf99s ip if isipv4ip printfIP type IPv4 else if isipv6ip printfIP type IPv6 else printfInvalid IP address format return 1 printfPinging s ip pingipip return 0 Relatório Final 1 Resumo das Atividades Práticas O presente relatório documenta o desenvolvimento de um programa em C que recebe um endereço IP podendo ser IPv4 ou IPv6 identifica o tipo de IP fornecido executa o comando ping para verificar a conectividade com o endereço e imprime o resultado do comando exibindo informações úteis para o monitoramento da rede 2 Ambiente de Desenvolvimento O ambiente utilizado para o desenvolvimento da aplicação é descrito abaixo Sistema Operacional Ubuntu 22043 LTS Compilador GCC GNU Compiler Collection versão 1140 Editor de TextoIDE Visual Studio Code com extensões para desenvolvimento em CC Ferramentas de Rede ping para coleta de informações de rede Esse ambiente foi escolhido pela estabilidade e suporte ao desenvolvimento de aplicações em C com ferramentas de diagnóstico de rede muito utilizadas 3 Procedimentos Realizados Os procedimentos para o desenvolvimento da aplicação envolveram as seguintes etapas 1 Identificação do Tipo de IP A aplicação começa solicitando ao usuário a entrada de um endereço IP Foram implementadas funções para verificar se o endereço IP fornecido é do tipo IPv4 ou IPv6 utilizando expressões regulares para validação 2 Execução do Comando ping O programa utiliza o comando ping para verificar a conectividade com o IP fornecido A saída do comando ping é impressa na tela para exibir as informações de rede pedidas 3 Testes Realizouse a verificação da funcionalidade do código com diferentes endereços IP tanto válidos quanto inválidos para garantir que o código funcionava corretamente em todos os casos 4 Funcionalidades da Aplicação Desenvolvida A aplicação foi desenvolvida com as seguintes funcionalidades principais Identificação de IPv4 e IPv6 A aplicação é capaz de identificar e validar o tipo de IP fornecido pelo usuário Teste de Conectividade ping Executa o comando ping e imprime a saída completa no terminal 5 Capturas de Tela a Execução da Aplicação Figura 1 Execução do programa com um endereço IPv4 válido fornecido pelo usuário Figura 2 Execução do programa com um endereço IPv6 válido fornecido pelo usuário 6 Códigos Correspondentes à Aplicação A seguir é apresentado o códigofonte completo da aplicação desenvolvida include regexh include stdioh include stdlibh include stringh int isvalidipv4octetconst char octet int num atoioctet if num 0 num 255 return 0 return 1 int isipv4const char ip char ipcopy100 char token int count 0 Faz uma cópia da string de IP para não modificar o original strcpyipcopy ip Split da string por token strtokipcopy while token NULL count Verifica se cada parte é um número válido entre 0 e 255 if isvalidipv4octettoken return 0 token strtokNULL O IPv4 deve ter exatamente 4 octetos return count 4 int isipv6const char ip A implementação do IPv6 permanece a mesma regext regex int ret const char pattern 09afAF ret regcompregex pattern REGEXTENDED if ret fprintfstderr Could not compile regex exit1 ret regexecregex ip 0 NULL 0 regfreeregex return ret void pingipconst char ip char command100 FILE fp char result1024 snprintfcommand sizeofcommand ping c 4 s ip fp popencommand r if fp NULL printfFailed to run command exit1 while fgetsresult sizeofresult fp NULL printfs result pclosefp int main char ip100 printfEstas são as informações do monitor de rede do Vinicius soares printfEnter IP address IPv4 or IPv6 scanf99s ip if isipv4ip printfIP type IPv4 else if isipv6ip printfIP type IPv6 else printfInvalid IP address format return 1 printfPinging s ip pingipip return 0 Código para testes pela URL ou nome de dispositivo include stdioh include stdlibh include stringh Função para realizar o comando ping no domínio IP ou nome do dispositivo fornecido void pingaddressconst char address char command100 Buffer para armazenar o comando ping FILE fp Ponteiro para manipular a saída do comando char result1024 Buffer para armazenar os resultados do ping Monta o comando ping usa c 4 para enviar 4 pacotes no Linux no Windows seria ping n 4 snprintfcommand sizeofcommand ping c 4 s address Abre um pipe para executar o comando fp popencommand r if fp NULL Caso falhe ao abrir o pipe exibe uma mensagem de erro printfFailed to run command exit1 Sai do programa com erro Lê e imprime cada linha da saída do comando ping while fgetsresult sizeofresult fp NULL printfs result Fecha o pipe pclosefp int main char address100 Buffer para armazenar o endereço IP URL ou nome do dispositivo inserido pelo usuário Exibe uma introdução printfEstas são as informações do monitor de rede do Vinicius Soares Solicita ao usuário que insira um endereço printfEnter IP address domain or device name scanf99s address Lê o endereço informado pelo usuário Realiza o comando ping no endereço fornecido printfPinging s address pingaddressaddress return 0 Encerra o programa com sucesso Usamos o mesmo conceito geral do código porém não é necessário diferenciar entre IP e nome de domínio pois ferramentas de rede como ping e nslookup aceitam diretamente um nome de domínio ex wwwgooglecom ou o nome de um dispositivo na rede O que foi alterado no código 1 Removemos a distinção entre IPv4 IPv6 e domínio não precisamos mais verificar se é um IP porque pode ser tanto um nome de domínio um nome de host ou um IP O comando ping pode resolver automaticamente o nome de domínio para um IP 2 Mantemos a estrutura para realizar o ping podemos simplesmente executar o comando ping com o valor inserido seja ele um IP ou um nome de domínio Referências bibliográficas Tanenbaum A S 2011 Redes de Computadores Pearson Education Kurose J F Ross K W 2013 Redes de Computadores Um Enfoque TopDown Pearson Education