{"id":13840831,"url":"https://github.com/zmap/zgrab","last_synced_at":"2025-12-18T00:31:43.326Z","repository":{"id":15290151,"uuid":"18019738","full_name":"zmap/zgrab","owner":"zmap","description":"**DEPRECATED** This project has been replaced by https://github.com/zmap/zgrab2","archived":true,"fork":false,"pushed_at":"2021-07-07T22:43:24.000Z","size":5517,"stargazers_count":748,"open_issues_count":0,"forks_count":148,"subscribers_count":48,"default_branch":"master","last_synced_at":"2024-11-06T05:04:53.436Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zmap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-22T21:03:26.000Z","updated_at":"2024-09-28T15:27:41.000Z","dependencies_parsed_at":"2022-07-20T21:32:14.153Z","dependency_job_id":null,"html_url":"https://github.com/zmap/zgrab","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmap%2Fzgrab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmap%2Fzgrab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmap%2Fzgrab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmap%2Fzgrab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zmap","download_url":"https://codeload.github.com/zmap/zgrab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225712763,"owners_count":17512480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T17:00:57.719Z","updated_at":"2025-12-18T00:31:43.279Z","avatar_url":"https://github.com/zmap.png","language":"Go","funding_links":[],"categories":["Go","Go (531)"],"sub_categories":[],"readme":"## 🚨 **ZGRAB 1.0 IS DEPRECATED**. Please use ZGrab 2.0: https://github.com/zmap/zgrab2. \n\n### ZGrab 1.0: A Banner Grabber, in Go\n\n[![Build Status](https://travis-ci.org/zmap/zgrab.svg?branch=master)](https://travis-ci.org/zmap/zgrab)\n[![Go Report Card](https://goreportcard.com/badge/github.com/zmap/zgrab)](https://goreportcard.com/report/github.com/zmap/zgrab)\n\n\n\n## Building\n\nYou will need to have a valid `$GOPATH` set up, for more information about `$GOPATH`, see https://golang.org/doc/code.html.\n\nOnce you have a working `$GOPATH`, run:\n\n```\ngo get github.com/zmap/zgrab\n```\n\nThis will install zgrab under `$GOPATH/src/github.com/zmap/zgrab`\n\n```\n$ cd $GOPATH/src/github.com/zmap/zgrab\n$ go build\n```\n\n## Usage\n\n```\nUsage of ./zgrab:\n  -bacnet\n    \tSend some BACNet data\n  -banners\n    \tRead banner upon connection creation\n  -ca-file string\n    \tList of trusted root certificate authorities in PEM format\n  -chrome-ciphers\n    \tSend Chrome Ordered Cipher Suites\n  -chrome-no-dhe-ciphers\n    \tSend chrome ciphers minus DHE suites\n  -connections-per-host uint\n    \tNumber of times to connect to each host (results in more output) (default 1)\n  -data string\n    \tSend a message and read response (%s will be replaced with destination IP)\n  -dhe-ciphers\n    \tSend only DHE ciphers (not ECDHE)\n  -dnp3\n    \tRead DNP3 banners\n  -ecdhe-ciphers\n    \tSend only ECDHE ciphers (not DHE)\n  -ehlo string\n    \tSend an EHLO with the specified domain (implies --smtp)\n  -export-ciphers\n    \tSend only export ciphers\n  -export-dhe-ciphers\n    \tSend only export DHE ciphers\n  -firefox-ciphers\n    \tSend Firefox Ordered Cipher Suites\n  -follow-localhost-redirects\n    \tFollow HTTP redirects to localhost (default true)\n  -fox\n    \tSend some Niagara Fox Tunneling data\n  -ftp\n    \tRead FTP banners\n  -ftp-authtls\n    \tCollect FTPS certificates in addition to FTP banners\n  -gomaxprocs int\n    \tSet GOMAXPROCS (default 3) (default 3)\n  -heartbleed\n    \tCheck if server is vulnerable to Heartbleed (implies --tls)\n  -http string\n    \tSend an HTTP request to an endpoint\n  -http-max-redirects int\n    \tMax number of redirects to follow\n  -http-max-size int\n    \tMax kilobytes to read in response to an HTTP request (default 256)\n  -http-method string\n    \tSet HTTP request method type (default \"GET\")\n  -http-proxy-domain string\n    \tSend a CONNECT \u003cdomain\u003e first\n  -http-user-agent string\n    \tSet a custom HTTP user agent (default \"Mozilla/5.0 zgrab/0.x\")\n  -imap\n    \tConform to IMAP rules when sending STARTTLS\n  -input-file string\n    \tInput filename, use - for stdin (default \"-\")\n  -interface string\n    \tNetwork interface to send on\n  -log-file string\n    \tFile to log to, use - for stderr (default \"-\")\n  -lookup-domain\n    \tInput contains only domain names\n  -metadata-file string\n    \tFile to record banner-grab metadata, use - for stdout (default \"-\")\n  -modbus\n    \tSend some modbus data\n  -no-sni\n    \tDo not send domain name in TLS handshake regardless of whether known\n  -output-file string\n    \tOutput filename, use - for stdout (default \"-\")\n  -pop3\n    \tConform to POP3 rules when sending STARTTLS\n  -port uint\n    \tPort to grab on (default 80)\n  -prometheus string\n    \tAddress to use for Prometheus server (e.g. localhost:8080). If empty, Prometheus is disabled.\n  -raw-client-hello string\n    \tProvide a raw ClientHello to be sent; only the SNI will be rewritten\n  -s7\n    \tSend some Siemens S7 data\n  -safari-ciphers\n    \tSend Safari Ordered Cipher Suites\n  -safari-no-dhe-ciphers\n    \tSend Safari ciphers minus DHE suites\n  -senders uint\n    \tNumber of send coroutines to use (default 1000)\n  -signed-certificate-timestamp\n    \trequest SCTs during TLS handshake (default true)\n  -smb\n    \tScan for SMB\n  -smb-protocol int\n    \tSpecify which SMB protocol to scan for (default 1)\n  -smtp\n    \tConform to SMTP when reading responses and sending STARTTLS\n  -smtp-help\n    \tSend a SMTP help (implies --smtp)\n  -starttls\n    \tSend STARTTLS before negotiating\n  -telnet\n    \tRead telnet banners\n  -telnet-max-size int\n    \tMax bytes to read for telnet banner (default 65536)\n  -timeout uint\n    \tSet connection timeout in seconds (default 10)\n  -tls\n    \tGrab over TLS\n  -tls-extended-master-secret\n    \tOffer RFC 7627 Extended Master Secret extension\n  -tls-extended-random\n    \tsend extended random extension\n  -tls-session-ticket\n    \tSend support for TLS Session Tickets and output ticket if presented\n  -tls-verbose\n    \tAdd extra TLS information to JSON output (client hello, client KEX, key material, etc)\n  -tls-version string\n    \tMax TLS version to use (implies --tls)\n  -xssh\n    \tUse the x/crypto SSH scanner\n  -xssh-ciphers value\n    \tA comma-separated list of which ciphers to offer (default \"aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,arcfour256,arcfour128\")\n  -xssh-client-id string\n    \tSpecify the client ID string to use (default \"SSH-2.0-Go\")\n  -xssh-gex-max-bits uint\n    \tThe maximum number of bits for the DH GEX prime. (default 8192)\n  -xssh-gex-min-bits uint\n    \tThe minimum number of bits for the DH GEX prime. (default 1024)\n  -xssh-gex-preferred-bits uint\n    \tThe preferred number of bits for the DH GEX prime. (default 2048)\n  -xssh-host-key-algorithms value\n    \tA comma-separated list of which host key algorithms to offer (default \"ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss,ssh-ed25519\")\n  -xssh-kex-algorithms value\n    \tA comma-separated list of which DH key exchange algorithms to offer (default \"curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1\")\n  -xssh-userauth\n    \tUse the 'none' authentication request to see what userauth methods are allowed.\n  -xssh-verbose\n    \tOutput additional information.\n```\n\n## Example\n\n```\n$ zmap -p 443 --output-fields=* | ztee results.csv | zgrab --port 443 --tls --http=\"/\" --output-file=banners.json\n```\n\n## Requirements\n\nzgrab requires go version of at least 1.8.1. Please note that this is newer than the version included in Ubuntu 14.04 apt repository. You can install ztee from ZMap Github repository at https://github.com/zmap/zmap.\n\n\n## ZGrab as a library / dependency\n\nZGrab tends to be very unstable, API's may break at any time, so be sure to vendor ZGrab.\n\n## License\n\nZGrab is licensed under Apache 2.0 and ISC. For more information, see the LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmap%2Fzgrab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzmap%2Fzgrab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmap%2Fzgrab/lists"}