ich schaffe es über den socks5 client aber leider immer jeweils nur die ping url auszulesen, daheißt youporn etc kann indexiert und ´geblockt werden, google anfragen nach porn inhalten etc aber nicht, wisst ihr da wie ich sowas noch geblockt bekommen würde ?
mein source ist in c# wenn ihr wollt pm an mich und ihr bekommt die snippets wie ich was mache will das projekt nachher eh veröffentlichen
Code:
namespace SocketServer { public class Socks5Session { TcpClient socksClient; TcpClient serverClient; byte SOCKS_VERSION = 5; byte SOCKS_NOAUTH = 0; byte SOCKS_REPLYSUCCESS = 0; byte SOCKS_IPV4ADDR = 1; byte SOCKS_DNSNAME = 3; private IPAddress m_loginServerIP = null; private int m_loginServerPort = -1; public Socks5Session() { } public Socks5Session(TcpClient client, IPAddress targetIP, int targetPort) { socksClient = client; m_loginServerIP = targetIP; m_loginServerPort = targetPort; } public void Work() { NetworkStream socksClientStream = socksClient.GetStream(); /* ***************************************************** * supported methods part * ***************************************************** */ byte[] authFields = new byte[2]; socksClientStream.Read(authFields, 0, 2); // read n supported methods byte[] methods = new byte[authFields[1]]; socksClientStream.Read(methods, 0, methods.Length); /* ***************************************************** * method selection part * ***************************************************** */ // return version and auth method "no auth" byte[] selectedAuthMethod = { SOCKS_VERSION, SOCKS_NOAUTH }; socksClientStream.Write(selectedAuthMethod, 0, 2); /* ***************************************************** * request part * ***************************************************** */ byte[] requestFields = new byte[4]; socksClientStream.Read(requestFields, 0, 4); // adresstypes ipv4 and hostname are supported string connection_target = ""; int target_port; if (requestFields[3] == SOCKS_IPV4ADDR) { //ip4v adress is requested byte[] target_data = new byte[4]; socksClientStream.Read(target_data, 0, 4); IPAddress ip = new IPAddress(target_data); connection_target = ip.ToString(); } else if (requestFields[3] == SOCKS_DNSNAME) { //domainname requested //doc: byteorder byte[] domainname_length = new byte[1]; // read the following domain name length socksClientStream.Read(domainname_length, 0, 1); byte[] target_data = new byte[domainname_length[0]]; // read a domain name of requseted length socksClientStream.Read(target_data, 0, domainname_length[0]); //interpret the domainname in default encoding connection_target = Encoding.Default.GetString(target_data); } else { //unsupported addresstype Console.WriteLine("unsupported addresstype " + requestFields[3].ToString()); } //if requested address is supported if (connection_target != "") { /* ***************************************************** * server client connection part * ***************************************************** */ //doc: byteorder byte[] bintargetport = new byte[2]; socksClientStream.Read(bintargetport, 0, 2); byte[] tmp_byteorder = new byte[2]; tmp_byteorder[0] = bintargetport[1]; tmp_byteorder[1] = bintargetport[0]; target_port = (int)BitConverter.ToUInt16(tmp_byteorder, 0); Console.WriteLine("TARGET: " + connection_target + ":" + target_port.ToString());
dns url anfrage blocken aber wie kann man den post filtern
mfg KleinAnorld.