欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python中利用原始套接字進行網絡編程的示例

系統 1631 0

在實驗中需要自己構造單獨的HTTP數據報文,而使用SOCK_STREAM進行發送數據包,需要進行完整的TCP交互。

因此想使用原始套接字進行編程,直接構造數據包,并在IP層進行發送,即采用SOCK_RAW進行數據發送。

使用SOCK_RAW的優勢是,可以對數據包進行完整的修改,可以處理IP層上的所有數據包,對各字段進行修改,而不受UDP和TCP的限制。

下面開始構造HTTP數據包,

IP層和TCP層使用python的Impacket庫,http內容自行填寫。

            
#!/usr/bin/env python
 
#-------------------------------------------------------------------------------
# Name:   raw_http.py
# Purpose:    construct a raw http get packet
#
# Author:  Yangjun
#
# Created:    08/02/2014
# Copyright:  (c) Yangjun 2014
# Licence:    
            
              
#-------------------------------------------------------------------------------
 
import sys
import socket
from impacket import ImpactDecoder, ImpactPacket
 
def main():
 
  if len(sys.argv) < 3:
    print "Use: %s 
              
                
                  " % sys.argv[0]
    print "Use: %s 
                  
                    
                      
                        " % sys.argv[0]
    sys.exit(1)
  elif len(sys.argv) == 3:
    src = sys.argv[1]
    dst = sys.argv[2]
    cnt = 1
  elif len(sys.argv) ==4:
    src = sys.argv[1]
    dst = sys.argv[2]
    cnt = sys.argv[3]
  else:
    print "Input error!"
    sys.exit(1)
#print src, dst
  ip = ImpactPacket.IP()
  ip.set_ip_src(src)
  ip.set_ip_dst(dst)
 
  # Create a new ICMP packet of type ECHO.
  icmp = ImpactPacket.ICMP()
  tcp = ImpactPacket.TCP()
  tcp.set_th_sport(55968)
  tcp.set_th_dport(80)
  tcp.set_th_seq(1)
  tcp.set_th_ack(1)
  tcp.set_th_flags(0x18)
  tcp.set_th_win(64)
 
  tcp.contains( ImpactPacket.Data("GET /att/DIYLife/41264/528 HTTP/1.1\r\nHost: 192.168.111.1\r\nAccept-Encoding: identity\r\n\r\n"))
 
  ip.contains(tcp)
 
  # Open a raw socket. Special permissions are usually required.
  s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
  s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
  seq_id = 0
  while cnt >= 1:
    # Calculate its checksum.
    seq_id = seq_id + 1
    tcp.set_th_seq(seq_id)
    tcp.calculate_checksum()
 
    # Send it to the target host.
    s.sendto(ip.get_packet(), (dst,80))
    cnt= cnt -1
 
if __name__ == '__main__':
  main()

                      
                    
                  
                
              
            
          


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久久久久久久久久9精品视频 | 五月婷婷丁香在线观看 | 亚洲一区二区三区福利在线 | 国产资源网站 | 欧美国产中文字幕 | 三级视频在线观看 | 精品国产久 | 91网站在线观看视频 | 婷婷六月天| 91视频官网 | 69av亚洲| 欧美特一级片 | 午夜色视频在线观看 | 国产羞羞网站 | 欧美另类视频一区二区三区 | 欧美日韩中文在线观看 | 久久夏同学国产免费观看 | 久久女人被添全过程A片 | 91久久久久久久一区二区 | 欧美不在线 | 午夜免费 | 国产99久久精品一区二区 | 人人操日日干 | 国产精品一区在线观看你懂的 | 日韩精品一区二区三区四区视频 | 亚洲欧美精品一区二区 | 911福利视频 | 午夜影视在线观看 | 欧美激情精品久久久久 | 三及毛片 | 欧美精品亚洲一区二区在线播放 | 久久久久久天天夜夜天天 | 免费中文字幕日韩欧美 | 国产日韩欧美在线观看 | 黄色av网站免费看 | 久久两性视频 | 在线国产一区二区 | 国产精品亚洲精品青青青 | 三级免费黄 | 农村寡妇偷人高潮A片小说 午夜爱爱爱爱爽爽爽网站免费 | 国产一区二区精品在线观看 |