最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python解析發(fā)往本機(jī)的數(shù)據(jù)包示例 (解析數(shù)據(jù)包)

 更新時(shí)間:2014年01月16日 14:30:16   作者:  
這篇文章主要介紹了使用python解析獲取發(fā)往本機(jī)的數(shù)據(jù)包,并打印出來, 大家參考使用吧

tcp.py

復(fù)制代碼 代碼如下:

# -*- coding: cp936 -*-
import socket
from struct import *
from time import ctime,sleep
from os import system

system('title tcp sniffer')
system('color 05')

# the public network interface
HOST = socket.gethostbyname(socket.gethostname())

# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))

# Include IP headers
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)

# receive all packages
#s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)

# receive a package
while 1==1:
    packet = s.recvfrom(65565)
    packet = packet[0]

    ip_header = packet[0:20]
    iph = unpack('!BBHHHBBH4s4s',ip_header)
    version = iph[0] >> 4 #Version
    ihl = iph[0] * 0xF    #IHL
    iph_length = ihl * 4  #Total Length
    ttl = iph[5]
    protocol = iph[6]
    s_addr = socket.inet_ntoa(iph[8])
    d_addr = socket.inet_ntoa(iph[9])
    print ctime()
    print 'Version : ' + str(version) + ' IHL : ' + str(ihl) + ' Total Length: '+str(iph_length) + ' TTL : ' +str(ttl) + ' Protocol : ' + str(protocol) + ' Source Address : ' + str(s_addr) + ' Destination Address : ' + str(d_addr)

    if protocol == 6:
        tcp_header = packet[20:40]
        tcph = unpack('!HHLLBBHHH' , tcp_header)
        source_port = tcph[0]
        dest_port = tcph[1]
        sequence = tcph[2]
        acknowledgement = tcph[3]
        doff_reserved = tcph[4]
        tcph_length = doff_reserved >> 4
        print 'Source Port : ' + str(source_port) + ' Dest Port : ' + str(dest_port) + ' Sequence Number : ' + str(sequence) + ' Acknowledgement : ' + str(acknowledgement) + ' TCP header length : ' + str(tcph_length)

        data = packet[40:len(packet)]
        print 'Data : ' + data


# disabled promiscuous mode
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)

udp.py

復(fù)制代碼 代碼如下:

# -*- coding: cp936 -*-
import socket
from struct import *
from time import ctime,sleep
from os import system

system('title udp sniffer')
system('color 05')
# the public network interface
HOST = socket.gethostbyname(socket.gethostname())

# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))

# Include IP headers
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)

# receive all packages
#s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)

# receive a package
while 1==1:
    packet = s.recvfrom(65565)
    packet = packet[0]

    ip_header = packet[0:20]
    iph = unpack('!BBHHHBBH4s4s',ip_header)
    version = iph[0] >> 4 #Version
    ihl = iph[0] * 0xF    #IHL
    iph_length = ihl * 4  #Total Length
    ttl = iph[5]
    protocol = iph[6]
    s_addr = socket.inet_ntoa(iph[8])
    d_addr = socket.inet_ntoa(iph[9])

    if protocol == 17:
        udp_header = packet[20:28]
        udph = unpack('!HHHH' , udp_header)
        source_port = udph[0]
        dest_port = udph[1]
        length = udph[2]
        checksum = udph[3]
        data = packet[28:len(packet)]

        print ctime()
        print 'Version : ' + str(version) + ' IHL : ' + str(ihl) + ' Total Length: '+str(iph_length) + ' TTL : ' +str(ttl) + ' Protocol : ' + str(protocol) + ' Source Address : ' + str(s_addr) + ' Destination Address : ' + str(d_addr)
        print 'Source Port : ' + str(source_port) + ' Dest Port : ' + str(dest_port) + ' Length : ' + str(length) + ' Checksum : ' + str(checksum)
        print 'Data : ' + data

# disabled promiscuous mode
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)

相關(guān)文章

  • pip?install?python-Levenshtein失敗的解決

    pip?install?python-Levenshtein失敗的解決

    這篇文章主要介紹了pip?install?python-Levenshtein失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解

    Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解

    本文主要介紹了Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python 爬蟲之超鏈接 url中含有中文出錯(cuò)及解決辦法

    Python 爬蟲之超鏈接 url中含有中文出錯(cuò)及解決辦法

    這篇文章主要介紹了Python 爬蟲之超鏈接 url中含有中文出錯(cuò)及解決辦法的相關(guān)資料,出現(xiàn)UnicodeEncodeError: 'ascii' codec can't encode characters,的錯(cuò)誤解決辦法,需要的朋友可以參考下
    2017-08-08
  • np.newaxis 實(shí)現(xiàn)為 numpy.ndarray(多維數(shù)組)增加一個(gè)軸

    np.newaxis 實(shí)現(xiàn)為 numpy.ndarray(多維數(shù)組)增加一個(gè)軸

    今天小編就為大家分享一篇np.newaxis 實(shí)現(xiàn)為 numpy.ndarray(多維數(shù)組)增加一個(gè)軸,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python使用sqlalchemy模塊連接數(shù)據(jù)庫操作示例

    Python使用sqlalchemy模塊連接數(shù)據(jù)庫操作示例

    這篇文章主要介紹了Python使用sqlalchemy模塊連接數(shù)據(jù)庫操作,結(jié)合實(shí)例形式分析了sqlalchemy模塊的安裝及連接、調(diào)用數(shù)據(jù)庫相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • 基于opencv實(shí)現(xiàn)簡單畫板功能

    基于opencv實(shí)現(xiàn)簡單畫板功能

    這篇文章主要為大家詳細(xì)介紹了基于opencv實(shí)現(xiàn)簡單畫板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Python生成器generator和yield關(guān)鍵字的使用

    Python生成器generator和yield關(guān)鍵字的使用

    生成器是一種特殊的迭代器,可以通過列表推導(dǎo)式的修改或者使用yield關(guān)鍵字來創(chuàng)建,生成器函數(shù)能夠在迭代時(shí)動(dòng)態(tài)產(chǎn)生值,而不是一次性生成所有值,這有助于節(jié)省內(nèi)存,yield關(guān)鍵字使函數(shù)執(zhí)行暫停并保存當(dāng)前狀態(tài),下次調(diào)用時(shí)從停止處繼續(xù)執(zhí)行
    2024-09-09
  • wxPython窗口中文亂碼解決方法

    wxPython窗口中文亂碼解決方法

    這篇文章主要介紹了wxPython窗口中文亂碼解決方法,在Python程序設(shè)計(jì)中比較常見,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • pytorch + visdom 處理簡單分類問題的示例

    pytorch + visdom 處理簡單分類問題的示例

    這篇文章主要介紹了pytorch + visdom 處理簡單分類問題的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Pandas時(shí)間類型轉(zhuǎn)換與處理的實(shí)現(xiàn)示例

    Pandas時(shí)間類型轉(zhuǎn)換與處理的實(shí)現(xiàn)示例

    本文主要介紹了Pandas時(shí)間類型轉(zhuǎn)換與處理的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評(píng)論

扶余县| 堆龙德庆县| 通化市| 武邑县| 罗江县| 随州市| 崇明县| 广安市| 吉水县| 台北市| 桑日县| 广汉市| 平凉市| 塔城市| 额敏县| 两当县| 福州市| 张北县| 班玛县| 高雄市| 惠水县| 同德县| 北碚区| 晋江市| 抚远县| 务川| 南澳县| 敖汉旗| 德钦县| 武陟县| 栾川县| 蓝山县| 博白县| 咸宁市| 板桥市| 界首市| 永寿县| 章丘市| 南康市| 突泉县| 南和县|