Skip to content
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

http: allow raw header capture (#347) #349

Merged
merged 1 commit into from
Feb 18, 2024

Commits on Apr 21, 2022

  1. http: allow raw header capture (zmap#347)

    The golang textproto library does a few things when parsing the HTTP
    headers:
    
    * consume some whitespace characters (e.g. \r\n)
    * canonicalizes the header keys (e.g. "content-type" => "Content-Type")
    * moves the headers into a map
    
    This all makes sense when parsing HTTP, but for a scanner some may want
    to have the exact headers, to match on order, non-canonical keys, etc.
    
    This adds that option, if '--raw-headers' is specified during an HTTP
    scan.  This is accomplished by implementing a tee reader on the pconn
    interface, that tees before the bufio reader is put in place.  The
    tee copy can be disabled once the headers have been read, so as to not
    waste memory while consuming the HTTP body.
    
    While denoted as "raw headers", this will also capture the raw status
    line as well.
    
    (cherry picked from commit 83e55e0)
    Signed-off-by: Jeff Cody <jcody@censys.io>
    codyprime committed Apr 21, 2022
    Configuration menu
    Copy the full SHA
    eb3e2e3 View commit details
    Browse the repository at this point in the history