1. curl 이란

curl이란 url에 데이터를 보내거나 가져올 때 사용합니다.

linux에 curl --manual 입력 시 사용법을 볼 수가 있습니다.


2. 지원 프로토콜

DICT FILE
FTP FTPS
GOPHER GOPHERS
HTTP HTTPS
IMAP IMAPS
LDAP LDAPS
MQTT POP3
POP3S RTMP
RTMPS RTSP
SCP SFTP
SMB SMBS
SMTP SMTPS
TELNET TFTP
WS WSS

3. 설치 방법

1) Linux

sudo apt update
sudo apt install curl

 

2) Window

https://curl.se/windows/

 

curl for Windows

curl 8.12.1 for Windows These are the latest and most up to date official curl binary builds for Microsoft Windows. curl version: 8.12.1 Build: 8.12.1_1 Date: 2025-02-13 Changes: 8.12.1 changelog Supported Windows versions: Vista, 7, 8, 10, 11 curl for 64-

curl.se


4. 옵션

curl --help all 을 입력 시 어떤 옵션이 있는지 확인 할 수 있습니다.

short 옵션 long 옵션 내용
-a --append Append to target file when uploading
-E -cert <certificate:password> Client certificate file and password
-K --config <file> Read config from a file
-C --continue-at <offset> Resumed transfer offset
-b --cookie <data|filename> Send cookies from string/load from file
-c --cookie-jar <filename> Save cookies to <filename> after
operation
-d --data <data> HTTP POST data
-q --disable HTTP Digest Authentication
-D --dump-header <filename> Write the received headers to
<filename>
-f --fail Fail fast with no output on HTTP errors
-F --form <name=content> Specify multipart MIME data
-P --ftp-port <address> Send Port instead of PASV
-G --get Require TLS for login, clear for transfer
-g --globoff Disalbe URL globbing with {} and []
-I --head Show document info only
-H --header <header/@file> Pass custom header(s) to server
-h --help <subject> Get help for command
-0 --http1.0 Use HTTP1.0
-k --insecure Allow insecure server conntections
-4 --ipv4 Resolve names to IPv4 address
-6 --ipv6 Resolve names to IPv6 address
-j --junk-session-cookies Ignore session cookies read from file
-l --list-only List only mode
-L --locatoin Follow redirects
-M --manual Display the full manual
-m --max-time <seconds> Maximum time allowed for trnasfer
-n --netrc Must read .netrc for username and
password
-: --next Make next URL use separate options
-N --no-buffer Disable buffering of the output stream
-o --output <file> Write to file instead of stdout
-Z --parallel Perform trnasfers in parallel
-# --progress-bar Display transfer progress as a bar
-x --proxy [protocol://]host[:port] Use this proxy
-U --proxy-user <user:password> Proxy user and password
-P --proxytunnel HTTP proxy tunnel (using CONNECT)
-Q --quote <command> Send command to server before transfer
-r --range <range> Retrieve only the bytes within RANGE
-e --referer <URL> REferrer URL
-J --remote-header-name Use the header-provided filename
-O --remote-name Write output to file named as remote file
-R --remote-time Set remote file's time on local output
-X --request<mehtod> Specify request method to use
-S --show-error Sow error even when -s is used
-i --show-headers Show response headers in output
-s --silent Silent mode
-Y --speed-limit <speed> Stop transfers slower than this
-y --speed-time <seconds> Trigger 'spped-limit' abort after this time
-2 --sslv2 SSLv2
-3 --sslv3 SSLv3
-t --telnet-option <opt=val> Set telnet options
-z --time-cond <time> Transfer based on a time condition
-1 --tlsv1 TLSv1.0 or greater
-T --upload-file <file> Trnasfer locla FILE to destination
-B ---use-ascii Use ASCII/text transfer
-u --user <user:password> Server user and password
-A --user-agent <name> Send User-Agent <name> to server
-v -verbose Make the operation more talkative
-V --version Show version number and uqit
-w --write-out <format> Output FORMAT after completion

5. 사용 예시

--추후 추가 예정

'기술 노트 > security' 카테고리의 다른 글

[WEB] prototype pollution  (0) 2025.02.15
[WEB]LFI 란  (0) 2025.02.10
[WEB]SSRF란  (0) 2024.08.12
[WEB]CSRF란  (0) 2024.08.12
[WEB]XSS 정리  (0) 2024.08.09

+ Recent posts