[tor-dev] TOR C# application
Mohiuddin Ebna Kawsar
mohiuddin.kawsar at gmail.com
Mon Dec 15 17:01:56 UTC 2014
1) connect TOR through socks port(localhost:9050 default) from your c#
application (TCP/IP)
2) Negotiate with TOR SOCKS( read https://www.ietf.org/rfc/rfc1928.txt
carefully).
Here is a simple c code .hope this will help..
############################################################
//Create socket for client.
sockfd = socket(PF_INET, SOCK_STREAM, 0);
if (sockfd == -1) {
perror("Socket create failed.\n") ;
return -1 ;
}
//Name the socket as agreed with server.
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr("127.0.0.1");
address.sin_port = htons(9050);
len = sizeof(address);
result = connect(sockfd, (struct sockaddr *)&address, len);
//#######################################STEP1 DONE#######################
char buf[1024];
send(sockfd,"\x05\x01\x00",3,0); // \x05= SOCKS5, \x01=NEXT BYTE
LENGTH,\x00= NO AUTHENTICATION
int bytes_recv = recv(sockfd, buf,sizeof(buf),0);
if ((buf[0] != 5) || buf[1] == 0xFF)
{
return 1;
}
//####################################NEGOTIATION 1 DONE###############
\\05=SOCKS5,01=CONNECT,00=reserved,03=DOMAIN,
\\ \x77\x77\x77\x2e\x67\x6f\x6f\x67\x6c\x65\x2e\x63\x6f\x6d =
www.google.com
\\ \x00\x50 == port(80)
send(sockfd,"\x05\x01\x00\x03\x0e\x77\x77\x77\x2e\x67\x6f\x6f\x67\x6c\x65\x2e\x63\x6f\x6d\x00\x50",21,0);
bytes_recv = recv(sockfd, buf,sizeof(buf),0);
//####################################NEGOTIATION 2 DONE ################
char request[1024] = "GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n";
send(sockfd,request,sizeof(request),0);
int bytes_recieved =0;
bytes_recieved = recv(sockfd, buf, 1024, 0);
buf[bytes_recieved] = '\0';
cout<<buf<<endl;
############################### SENDING HTTP GET AND GETTING HEADER AS
ANSWER #####
On Mon, Dec 15, 2014 at 4:51 PM, Hollow Quincy <hollow.quincy at gmail.com>
wrote:
>
> Hi all,
>
> I would like to write a C# application (IRC client) that is using TOR.
> I read a lot, but I still don't know how can I run TOR proxy in
> transparent way (from my c# code).
>
> I see that Tor Stem (https://stem.torproject.org/) can be used by
> Python code or there are packages for Linux, but not C# (.NET).
>
> How can I run Tor proxy from C# ? Is there a library (dll) that I can
> run ? (without need to have open Tor Bundle browser).
>
> Thanks for help
> _______________________________________________
> tor-dev mailing list
> tor-dev at lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20141215/e664ce04/attachment.html>
More information about the tor-dev
mailing list