HTTP: send http request through established TCP connections

Quote from here.

getStr = 'GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n'
request = IP(dst='www.google.com') / TCP(dport=80, sport=syn_ack[TCP].dport,
             seq=syn_ack[TCP].ack, ack=syn_ack[TCP].seq + 1, flags='A') / getStr
reply = sr1(request)

or 

>>>  a=Ether()/IP(dst="www.slashdot.org")/TCP()/"GET /index.html HTTP/1.0 \n\n"

both creates a GET http request.

So, http is something that is pure text above tcp.

You can send HTTP status_codes also through pure text.

1. Syn->Synack->Ack

2.Send texts through tcp with the 5-tuples set.

3.every time get something from server and checked sum passed, it will send a ACK back to server

 

-----

in html file we created a form:

its POST form packet:

 

posted on 2017-11-20 17:06  三叁  阅读(193)  评论(0编辑  收藏  举报

导航