app.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package app
  2. import (
  3. "fmt"
  4. "log"
  5. "net"
  6. "github.com/urfave/cli"
  7. )
  8. func buscarIps(c *cli.Context) {
  9. host := c.String("host")
  10. //Pacote net
  11. ips, erro := net.LookupIP(host)
  12. if erro != nil {
  13. log.Fatal(erro)
  14. }
  15. for _, ip := range ips {
  16. fmt.Println(ip)
  17. }
  18. }
  19. func buscarServidores(c *cli.Context) {
  20. host := c.String("host")
  21. servidores, erro := net.LookupNS(host) // nameserver
  22. if erro != nil {
  23. log.Fatal(erro)
  24. }
  25. for _, servidor := range servidores {
  26. fmt.Println(servidor.Host)
  27. }
  28. }
  29. // Gerar vai retornar a aplicação de linha de comando pronta para ser executada.
  30. func Gerar() *cli.App {
  31. app := cli.NewApp()
  32. app.Name = "App CLI"
  33. app.Usage = "Busca IPs de servidores na internet. "
  34. app.Commands = []cli.Command{
  35. {
  36. Name: "ip",
  37. Usage: "Busca IPs de endereços na internet",
  38. Flags: []cli.Flag{
  39. cli.StringFlag{
  40. Name: "host",
  41. Value: "bytesdeprosa.com.br",
  42. },
  43. },
  44. Action: buscarIps,
  45. },
  46. {
  47. Name: "servidores",
  48. Usage: "Busca o nome dos servidores",
  49. Flags: []cli.Flag{
  50. cli.StringFlag{
  51. Name: "host",
  52. Value: "bytesdeprosa.com.br",
  53. },
  54. },
  55. Action: buscarServidores,
  56. },
  57. }
  58. return app
  59. }