❶ 怎麼用cmd命令開啟http代理埠
在運行鍵入cmd->netstat -an就會顯示出開放的埠了。
1、方法一:Windows本身自帶的netstat命令
關於netstat命令,有關windows幫助文件中的介紹:
Netstat
顯示協議統計和當前的 TCP/IP 網路連接。該命令只有在安裝了 TCP/IP 協議後才可以使用。
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
參數
-a :顯示所有連接和偵聽埠。伺服器連接通常不顯示。
-e :顯示乙太網統計。該參數可以與 -s 選項結合使用。
-n :以數字格式顯示地址和埠號(而不是嘗試查找名稱)。
-s :顯示每個協議的統計。默認情況下,顯示 TCP、UDP、ICMP 和 IP 的統計。-p 選項可以用來指定默認的子集。
-p protocol :顯示由 protocol 指定的協議的連接;protocol 可以是 tcp 或 udp。如果與 -s 選項一同使用顯示每個協議的統計,protocol 可以是 tcp、udp、icmp 或 ip。
-r 顯示路由表的內容。
interval :重新顯示所選的統計,在每次顯示之間暫停 interval 秒。按 CTRL+B 停止重新顯示統計。如果省略該參數,netstat 將列印一次當前的配置信息。
參考以上幫助信息進入到命令行下,使用netstat命令的a和n兩個參數:
C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 0.0.0.0:0
UDP 0.0.0.0:1046 0.0.0.0:0
UDP 0.0.0.0:1047 0.0.0.0:0
Active Connections是指當前本機活動連接,Proto是指連接使用的協議名稱,LocalAddress是本地計算機的 IP 地址和連接正在使用的埠號,Foreign Address是連接該埠的遠程計算機的 IP地址和埠號,State則是表明TCP連接的狀態,可以看到後面三行的監聽埠是UDP協議的,所以沒有State表示的狀態。
2、方法二:工作在windows2000下的命令行工具fport
Fport是FoundStone出品的一個用來列出系統中所有打開的TCP/IP和UDP埠,以及它們對應應用程序的完整路徑、PID標識、進程名稱等信息的軟體。在命令行下使用,如:
D:\>fport.exe
FPort v1.33 - TCP/IP Process to Port Mapper Copyright 2000 by Foundstone, Inc.
http://www.foundstone.com
Pid Process Port Proto Path
748 tcpsvcs -> 7 TCP C:\WINNT\System32\ tcpsvcs.exe
748 tcpsvcs -> 9 TCP C:\WINNT\System32\tcpsvcs.exe
748 tcpsvcs -> 19 TCP C:\WINNT\System32\tcpsvcs.exe
416 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
如上就可以看到所有程序打開的埠了。
Fport的最新版本是2.0。在很多網站都提供下載,但是為了安全起見,當然最好還是到它的官網去下:http://www.foundstone.com/knowledge/zips/fport.zip
3、方法三:與Fport功能類似的圖形化界面工具Active Ports
Active Ports為SmartLine出品,可以用來監視電腦所有打開的TCP/IP/UDP埠,不但可以將所有的埠顯示出來,還顯示所有埠所對應的程序所在的路徑,本地IP和遠端IP(試圖連接的電腦IP)是否正在活動。
更重要的是,它還提供了一個關閉埠的功能,在用它發現木馬開放的埠時,可以立即將埠關閉。這個軟體工作在Windows NT/2000/XP平台下。可以在http://www.smartline.ru/software/aports.zip得到它。
其實使用windows xp的用戶無須藉助其它軟體即可以得到埠與進程的對應關系,因為windows xp所帶的netstat命令比以前的版本多了一個O參數,使用這個參數就可以得出埠與進程的對應來。
❷ Curl 命令
一、基礎請求
1、Get 請求
命令格式: curl requesturl
例如: curl https://kunpeng.csdn.net/ad/template/161?positionId=427
2、Post 請求
命令格式: curl -X POST requesturl
例如: curl -X POST https://msg.csdn.net/v1/web/message/view/unread
二、指定ip發送請求
1、http命令格式:
curl -H 'Host:requestHost' http://ip:port/requestPath
或 curl -x ip:port http://requestHost/requestPath
例如:
curl -H 'Host:kunpeng.csdn.net' http://101.201.173.208:80/ad/template/161?positionId=427
curl -x '101.201.173.208:80' http://kunpeng.csdn.net/ad/template/161?positionId=427
2、https命令格式:
curl -H 'Host:requestHost' https://ip/requestPath
或 curl ip https://requestHost/requestPath -k
例如:
curl -H 'Host:kunpeng.csdn.net' https://101.201.173.208/ad/template/161?positionId=427 -k
curl '101.201.173.208' https://kunpeng.csdn.net/ad/template/161?positionId=427 -k
三、帶參數的POST請求
命令格式:
1、head請求參數用 -H表示(一個橫桿)
2、如果命令需要換行,在換行處加 反斜杠
3、body請求參數用 --data表示(兩個橫桿);請求內容有引號時,加反斜杠\
例如:
❸ 怎麼在命令行下開啟http服務
進入「命令提示符」窗口,鍵入「sc config RpcSs start=auto」命令,系統會顯示「SC ChangeServiceConfig SUCCESS」,這樣就可以成功啟用RPC服務。參考資料: http://instry.ccidnet.com/art/720/20050318/224997_1.html
❹ 如何通過 c/c++ 實現http請求
示常式序,轉載自CNBLOG,做了針對C語言編譯器的適應性修正:
#include<stdio.h>
#include<winsock2.h>
#pragmacomment(lib,"ws2_32.lib")/*WinSock使用的庫函數*/
/*定義常量*/
#defineHTTP_DEF_PORT80/*連接的預設埠*/
#defineHTTP_BUF_SIZE1024/*緩沖區的大小*/
#defineHTTP_HOST_LEN256/*主機名長度*/
char*http_req_hdr_tmpl="GET%sHTTP/1.1 "
"Accept:image/gif,image/jpeg,*/* Accept-Language:zh-cn "
"Accept-Encoding:gzip,deflate Host:%s:%d "
"User-Agent:Huiyong'sBrowser<0.1> Connection:Keep-Alive ";
/**************************************************************************
*
*函數功能:解析命令行參數,分別得到主機名,埠號和文件名.命令行格式:
*[http://www..com:8080/index.html]
*
*參數說明:[IN]buf,字元串指針數組;
*[OUT]host,保存主機;
*[OUT]port,埠;
*[OUT]file_name,文件名;
*
*返回值:void.
*
**************************************************************************/
voidhttp_parse_request_url(constchar*buf,char*host,
unsignedshort*port,char*file_name)
{
intlength=0;
charport_buf[8];
char*buf_end=(char*)(buf+strlen(buf));
char*begin,*host_end,*colon,*file;
/*查找主機的開始位置*/
begin=(char*)(strstr(buf,"//"));
begin=(begin?begin+2:(char*)(buf));
colon=strchr(begin,':');
host_end=strchr(begin,'/');
if(host_end==NULL)
{
host_end=buf_end;
}
else
{/*得到文件名*/
file=strrchr(host_end,'/');
if(file&&(file+1)!=buf_end)
strcpy(file_name,file+1);
}
if(colon)/*得到埠號*/
{
colon++;
length=host_end-colon;
memcpy(port_buf,colon,length);
port_buf[length]=0;
*port=atoi(port_buf);
host_end=colon-1;
}
/*得到主機信息*/
length=host_end-begin;
memcpy(host,begin,length);
host[length]=0;
}
intmain(intargc,char**argv)
{
WSADATAwsa_data;
SOCKEThttp_sock=0;/*socket句柄*/
structsockaddr_inserv_addr;/*伺服器地址*/
structhostent*host_ent;
intresult=0,send_len;
chardata_buf[HTTP_BUF_SIZE];
charhost[HTTP_HOST_LEN]="127.0.0.1";
unsignedshortport=HTTP_DEF_PORT;
unsignedlongaddr;
charfile_name[HTTP_HOST_LEN]="index.html";
charfile_nameforsave[HTTP_HOST_LEN]="index1.html";
FILE*file_web;
if(argc!=2)
{
printf("[Web]input:%shttp://www.test.com[:8080]/index.html",argv[0]);
return-1;
}
http_parse_request_url(argv[1],host,&port,file_name);
WSAStartup(MAKEWORD(2,0),&wsa_data);/*初始化WinSock資源*/
addr=inet_addr(host);
if(addr==INADDR_NONE)
{
host_ent=gethostbyname(host);
if(!host_ent)
{
printf("[Web]invalidhost ");
return-1;
}
memcpy(&addr,host_ent->h_addr_list[0],host_ent->h_length);
}
/*伺服器地址*/
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(port);
serv_addr.sin_addr.s_addr=addr;
http_sock=socket(AF_INET,SOCK_STREAM,0);/*創建socket*/
result=connect(http_sock,(structsockaddr*)&serv_addr,sizeof(serv_addr));
if(result==SOCKET_ERROR)/*連接失敗*/
{
closesocket(http_sock);
printf("[Web]failtoconnect,error=%d ",WSAGetLastError());
return-1;
}
/*發送HTTP請求*/
send_len=sprintf(data_buf,http_req_hdr_tmpl,argv[1],host,port);
result=send(http_sock,data_buf,send_len,0);
if(result==SOCKET_ERROR)/*發送失敗*/
{
printf("[Web]failtosend,error=%d ",WSAGetLastError());
return-1;
}
file_web=fopen(file_nameforsave,"a+");
do/*接收響應並保存到文件中*/
{
result=recv(http_sock,data_buf,HTTP_BUF_SIZE,0);
if(result>0)
{
fwrite(data_buf,1,result,file_web);
/*在屏幕上輸出*/
data_buf[result]=0;
printf("%s",data_buf);
}
}while(result>0);
fclose(file_web);
closesocket(http_sock);
WSACleanup();
return0;
}