Read HTTP request from a SOCKET in perl -


i have problem reading socket in perl.

the story goes : 1.1.1.1 server 2.2.2.2 other server opened ssh tunnel on 1.1.1.1 3.3.3.3 ip mozilla firefox

i have ssh tunnel opened on port 12345 , tcp.pl "server" oppenning on port 2000 , forwarding raw traffic port 12345 gets again.

i have oppened mozilla firefox , put @ socks5 1.1.1.1:2000 (the tcp.pl server), , when surf web, surf 2.2.2.2's ip, witch good.

i wrote someware in code print sockets tcp.pl getting command :

`print $buffer;` 

the problem can read http headers , see stuff

get / http/1.1 host: site.com user-agent: mozilla/5.0 (windows nt 6.1; wow64; rv:29.0) gecko/20100101 firefox/29.0 accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 accept-language: en-us,en;q=0.5 accept-encoding: gzip, deflate cookie: _ga=ga1.2.1235518067.1410367631 connection: keep-alive 

witch ok, don't quite http content , mean don't html code. part of html code this

:g�� ��� <-- wired characters <html>...</html> ���lop� <-- wired characters 

and get

puttyputtyputtyputtyputtyputtyputtyputtyputtyputtyputty 

and beep sound.

the code (tcp.pl)

an infinite loop reads reads , reads ....

while (1)  {     $socket ($ioset->can_read)      {         if($socket == $server)          {             new_connection($server);         }         else          {             next unless exists $socket_map{$socket};             $remote = $socket_map{$socket};             $buffer;              # data main port             $read = $socket->sysread($buffer, 4096);             if ($read)              {                 print $read; # gives number 43243 5436346456 34654643464                 print $buffer; # allways gives http headers, , token distorted, showing characters ":g�� ������lop�" , chunks of html code time time                 # output "puttyputtyputtyputtyputtyputtyputtyputtyputtyputtyputty" , hearing beeping sounds                  # forward data other port (in browser see no differance)                 $remote->syswrite($buffer);             }             else {                 close_connection($socket);             }         }     } } 

i believe because fact don't order packets properly, mean have read sockets , order ack , seq flags, read it.

now main quession, how read html content is?

thank you.


Comments

Popular posts from this blog

javascript - how to protect a flash video from refresh? -

android - Associate same looper with different threads -

visual studio 2010 - Connect to informix database windows form application -