PHP에서 컬을 사용하여 IP를 위조하는 기능
本篇文章主要介绍PHP中使用curl伪造IP的功能,感兴趣的朋友参考下,希望对大家有所帮助。
curl简介:curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传等等,功能十分强大。
PHP中常用curl实现的功能:
1、实现远程获取和采集内容
2、实现PHP 网页版的FTP上传下载
3、实现模拟登陆
4、实现接口对接(API),数据传输等
5、实现模拟Cookie等
PHP使用CURL功能默认情况下PHP是不支持CURL功能的,需要在PHP.ini中开启该功能
; extension= php_curl.dll//首先去除前面的;分号,并重启Apache/IIS
使用curl伪造IP
我找到的IP拷贝到txt文件里,然后sed和awk处理了一下,分享一下我的awk处理脚本:
#!/bin/awk -f #运行前 BEGIN { FS = " "; count = 0; } #运行中 { iparr[count ++] = $0; } #运行后 END { printf("<?php\n"); printf("$iparr = array(\n"); for (i = 0; i < count; i ++) { printf("'%s' => '%s',\n", iparr[i], iparr[i]); } printf(");\n"); }
CURL使用
<?php require_once dirname(__FILE__) . "/iplib.php"; $req_url = "test.com"; foreach ($iparr as $forward => $cip) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $req_url); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "X-FORWARDED-FOR:$forward", "CLIENT-IP:$cip" )); curl_setopt($ch, CURLOPT_REFERER, 'http://blog.csdn.net/'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_exec($ch); curl_close($ch); }
缺陷
很多服务器端一般都采用了$_SERVER['REMOTE_ADDR']来获取客户端的真实ip,这是在传输层就已经决定的地址,无法通过CURL进行修改,好吧,貌似我也没帮朋友做成功这件事情,不过还是记录一下
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
实例详解php中serialize()与unserialize()函数
위 내용은 PHP에서 컬을 사용하여 IP를 위조하는 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1. 블랙/화이트 목록 IP 제한 액세스 구성 nginx 블랙 목록과 화이트 목록을 구성하는 방법에는 여러 가지가 있습니다. 다음은 일반적으로 사용되는 두 가지 방법입니다. 1. 첫 번째 방법: 허용, 거부 및 허용 명령은 ngx_http_access_module에 속합니다. nginx는 기본적으로 이 모듈을 로드하므로 직접 사용할 수 있습니다. 이 방법은 가장 간단하고 직접적입니다. 설정은 방화벽 iptable과 유사합니다. 사용 방법: 구성 파일에 직접 추가: #Whitelist 설정, 이어서 허용 가능 IPlocation/{allow123.13.123.12;allow23.53.32.1/100;denyall;}# 블랙리스트 설정,

IP 및 MAC 바인딩은 특정 IP 주소를 특정 MAC 주소와 연결하여 해당 MAC 주소를 사용하는 장치만 네트워크 통신에 IP 주소를 사용할 수 있도록 하는 것을 의미합니다. ip와 mac을 바인딩하면 바인딩된 호스트의 IP 주소가 스푸핑되는 것을 방지할 수 있습니다. 전제 조건: 1. MAC 주소는 고유하며 스푸핑될 수 없습니다. 즉, 라우터에 직접 연결된 네트워크의 호스트에만 바인딩할 수 있습니다. 호스트의 게이트웨이는 라우터에 있습니다).

컬과 Pythonrequests는 모두 HTTP 요청을 보내는 강력한 도구입니다. 컬은 터미널에서 직접 요청을 보낼 수 있는 명령줄 도구인 반면, Python의 요청 라이브러리는 Python 코드에서 요청을 보내는 보다 프로그래밍적인 방법을 제공합니다. 컬을 Pythonrequestscurl 명령으로 변환하는 기본 구문은 다음과 같습니다. 컬[OPTIONS]URL 컬 명령을 Python 요청으로 변환할 때 옵션과 URL을 Python 코드로 변환해야 합니다. 다음은 컬POST 명령의 예입니다: 컬-XPOST https://example.com/api

처음부터 끝까지: HTTP 요청에 PHP 확장 cURL을 사용하는 방법 소개: 웹 개발에서는 종종 타사 API 또는 기타 원격 서버와 통신해야 합니다. cURL을 사용하여 HTTP 요청을 하는 것은 일반적이고 강력한 방법입니다. 이 기사에서는 PHP를 사용하여 cURL을 확장하여 HTTP 요청을 수행하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다. 1. 준비 먼저 php에 cURL 확장이 설치되어 있는지 확인하세요. 명령줄에서 php-m|grepcurl을 실행하여 확인할 수 있습니다.

Linux에서 컬 버전을 업데이트하려면 다음 단계를 따르세요. 현재 컬 버전을 확인하세요. 먼저 현재 시스템에 설치된 컬 버전을 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다. 컬 --version 이 명령은 현재 컬 버전 정보를 표시합니다. 사용 가능한 컬 버전 확인: 컬을 업데이트하기 전에 사용 가능한 최신 버전을 확인해야 합니다. 최신 버전의 컬을 찾으려면 컬의 공식 웹사이트(curl.haxx.se)나 관련 소프트웨어 소스를 방문하세요. 컬 소스 코드 다운로드: 컬 또는 브라우저를 사용하여 선택한 컬 버전의 소스 코드 파일(일반적으로 .tar.gz 또는 .tar.bz2)을 다운로드합니다.

PHP8.1 출시: 여러 요청의 동시 처리를 위한 컬 소개 최근 PHP는 여러 요청의 동시 처리를 위한 컬이라는 중요한 기능을 도입한 최신 버전의 PHP8.1을 공식 출시했습니다. 이 새로운 기능은 개발자에게 여러 HTTP 요청을 처리하는 보다 효율적이고 유연한 방법을 제공하여 성능과 사용자 경험을 크게 향상시킵니다. 이전 버전에서는 여러 요청을 처리하려면 여러 컬 리소스를 만들고 루프를 사용하여 각각 데이터를 보내고 받아야 하는 경우가 많았습니다. 이 방법으로 목적을 달성할 수는 있지만

WeChat에서 IP 주소를 확인하는 방법: 1. 컴퓨터 버전의 WeChat에 로그인하고 화면 하단의 작업 표시줄을 마우스 오른쪽 버튼으로 클릭한 후 "작업 관리자"를 클릭합니다. 2. 작업 관리자가 나타나면 " 3. 작업 관리 브라우저의 "성능" 옵션을 입력하고 "리소스 모니터 열기"를 클릭합니다. 4. "네트워크"를 선택하고 "Wechat.exe" WeChat 프로세스를 확인합니다. 5. "를 클릭합니다. TCP 연결'을 통해 위챗 네트워크 IP 관련 상황을 모니터링할 수 있다. 메시지를 보내고 답장을 받으면 상대방의 IP 주소가 공개된다.

1. 디렉터리 화이트리스트 설정: 지정된 요청 경로에 제한이 없습니다. api 디렉터리에 대한 요청 경로에 제한이 없으면 server{location/app{proxy_passhttp://192.168.1.111로 작성할 수 있습니다. 8095/app ;limit_connconn20;limit_rate500k;limit_reqzone=fooburst=5nodelay;}location/app/api{proxy_passhttp://192.168.1.111:8095/app/api}}#왜냐하면 nginx는 정확한 매칭에 우선순위를 두기 때문입니다
