Code Monkey home page Code Monkey logo

http-connectivity-tester's Issues

Consider combining Windows Analytics tests

The Windows Analytics tests could be combined into one file since the URLs that are tested are very similar. Add an option for type of the Windows Analytic service to test. Values would be 'UpgradeAnalytics','UpgradeReadiness','DeviceHealth'

Add known cloud provider/CDN/loading balancing IP range look ups

Addresses and Aliases property on the connectivity object are useful, but could be better. Combine them per URL:

  • URL
  • DNS aliases
  • IP addresses for those aliases
  • Boolean to denote if the IP address is part of a known cloud provider or CDN
  • If boolean is true, then the name of the provider
  • If boolean is true, then the address ranges that would need to be unblocked

This feature would help those who can't do URL or URL pattern name based unblocks and can only do IP address based unblocks.

Need a function to test if an IP address is in a known range specified in CIDR notation. Could take a dependency on a library or create needed functionality in pure PowerShell.

Need to gather address ranges of common/popular providers or download at runtime ( -IncludeProviders option?)

Amazon AWS

Microsoft Azure

Google Compute Engine

Apple

Akamai

Cloudflare

Mass surveilance backdoor exploits not hidden from results

The testing scripts' code doesn't redact several vulnerabilities in tested endpoint systems that actually allow us to exploit them in the wild and complete our ultimate mission as per the PRISM, Pinwale, Bullrun, and X-Keyscore programs. This is a complete failure of scope, where are our tax dollars going, other that literally down the drain?

WDATP down level URL tests

Add down level URL tests for WDATP. Add another parameter such as -WorkspaceID to prepend to the downlevel URLs

Add timeouts to invoke-webrequeset, resolve-dnsname, etc

Seeing some really long timeouts on some networks when DNS resolve fails. Resolve-DnsName has -QuickTimeout but it doesn't appear to have a set timeout. I found a post online complaining it still took 4 seconds which is fine. Invoke-WebRequest has -TimeoutSec and a value can be specified. The documentation says "Specifies how long the request can be pending before it times out. Enter a value in seconds. The default value, 0, specifies an indefinite time-out. A Domain Name System (DNS) query can take up to 15 seconds to return or time out. If your request contains a host name that requires resolution, and you set -TimeoutSec to a value greater than zero, but less than 15 seconds, it can take 15 seconds or more before a WebException is thrown, and your request times out."

Only perform tests if DNS resolves

Move up the calls to Get-IPAddress and Get-IPAlias to before testing the URL and then only make that call if the address resolves. This should speed up tests in the case where timeouts occur in the web request calls since we won't even make the call. Related to #14.

Add GovCloud URLs

When a particular service has a GovCloud version, then add tests for the GovCloud URLs.

Suppress expected HTTP error codes from populating status message

Check status code for 400, 404, 503. Don't populate status message for those expected error codes. The message just ends up being distracting to end users. Could set a property "HasUnexpectedError" to signal this condition

if(-not(statusCode -in @(400, 404, 503)) {
$HashUnexpectedError = $true
$statusMessage = Get-ErrorMessage -ErrorRecord $_
}

Perform additional server certificate validation

Some types of certificate validation failures don't always result in an obvious failure. One case appears to be when a transparent proxy is involved that performs SSL/TLS interception. Perform additional server certification validation with Test-Certificate to hopefully make this case more clear to the user.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.