Skip to content

Add ApplicationLayerProbe for HTTP detection on TLS ports #141

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ic0ns
Copy link
Contributor

@ic0ns ic0ns commented Jun 27, 2025

Summary

  • Implements ApplicationLayerProbe to detect HTTP on TLS ports (fixes Add Property for "Speaks HTTP on TLS Port" #38)
  • Adds SPEAKS_HTTP property to track whether server responds to HTTP requests
  • Integrates with existing application layer detection framework

Implementation Details

  • New probe sends HTTP GET request after successful TLS handshake
  • Detects HTTP by checking for valid HTTP response status codes
  • Merges results with existing application protocols (e.g., from DTLS probe)
  • Follows existing probe patterns and conventions

Changes

  • Added SPEAKS_HTTP to TlsAnalyzedProperty enum
  • Added APPLICATION_LAYER to TlsProbeType enum
  • Created ApplicationLayerProbe class with HTTP detection logic
  • Registered probe in TlsServerScanner
  • Added property to rating influencers XML
  • Added unit tests for the new probe

Test Plan

  • Code compiles successfully
  • Unit tests written and passing
  • Spotless formatting applied
  • Integration testing with real HTTPS servers
  • Verify probe correctly identifies HTTP-speaking TLS services
  • Test with non-HTTP TLS services to ensure no false positives

Closes #38

- Add new SPEAKS_HTTP property to TlsAnalyzedProperty enum
- Add APPLICATION_LAYER probe type to TlsProbeType enum
- Implement ApplicationLayerProbe that sends HTTP GET request after TLS handshake
- Register new probe in TlsServerScanner probe list
- Add SPEAKS_HTTP property to rating influencers XML
- Add unit tests for ApplicationLayerProbe

This addresses issue #38 to detect when a server speaks HTTP on a TLS port,
which is useful for identifying HTTPS services.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Property for "Speaks HTTP on TLS Port"
1 participant