python解析tcp数据包-python解析获取发往本机的数据包并打印
1.[文件]
tcp.py ~ 2KB
下载(69)
# -*- 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)
python解析tcp数据包-python解析获取发往本机的数据包并打印相关推荐
- python数据展示平台_Python获取各大地图平台经纬度数据,哪家的数据最准确?
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于菜J学Python ,作者J哥 前言 不知道大家会在什么场合使用地图 ...
- 关于python数据的纬度_Python获取各大地图平台经纬度数据,哪家的数据最准确?...
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于菜J学Python ,作者J哥 前言 不知道大家会在什么场合使用地图 ...
- 用python和tcp透传通过rs485获取传感器信息(项目实战经历)
大家好 这是我的第一篇文章 因为有很多小伙伴想参考于是我发到了这里 首先了解一下整体项目架构, 我在一家外包公司上班, 这个项目是一个外包项目, 公司只给了我3个星期的时间,所以我当初制作这个项目的时 ...
- python的ws库功能,实时获取服务器ws协议返回的数据
# -*- coding:utf-8 -*-''' 模块下载,帮助地址:https://github.com/liris/websocket-client#readme 模块:websocket-cl ...
- android获取包版本,Android获取应用名称、版本号、应用包名称,移动设备ID、MAC地址、基站信息和手机型号等详细信...
创建一个android应用(AndroidTest),所需权限如下(AndroidManifest.xml文件): 接下来是MainActivity.java文件: package com.examp ...
- ajax spring mvc 接收json数据,easyui ajax请求获取SpringMVC @ResponseBody返回的Json数据为什么非得eval才能通过对象获取值?...
是这样的,问题是不是比较郁闷, Spring代码@RequestMapping(value="/UserModel/createUser.html") @ResponseBody ...
- 基于python的pyshp库读取.shp数据来获取中国城市边界的经纬度数据,并生成hdf文件
在之前博客中记录了如何获取省界经纬度数据 下面介绍如何获取城市区域的边界经纬度数据,具体思路同上一篇博客 https://blog.csdn.net/weixin_43718675/article/d ...
- python读取xls数据_python_从.mat与.xls类型文件中读取数据
从.xls类型文件中读取数据 在写机器学习算法的时候从UCI下载了一些数据,但是格式不是csv,而是.txt/.data,可以先用excel打开数据,在excel中将数据进行分列后导入python进行 ...
- python excel操作xlwt_关于python操作excel,xlwt,xlwd,最简单的操作介绍
关于使用python中的xlwt,xlrd最基本的认识 excel的index是从0开始的 xlwt 写入excel 主要用到 xls = xlwt.Workbook() #创建一个excle she ...
最新文章
- linux内核竞争条件漏洞,Linux内核竞争条件漏洞-导致远程代码执行
- es6一维数组转二维数组_技术图文:Numpy 一维数组 VS. Pandas Series
- python伪造请求头x-forwarded-for的作用_Pyspider中给爬虫伪造随机请求头的实例
- Qt工作笔记-让界面飞一会(让界面旋转出来)
- 牛客 2022年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛 签到题13题
- java计算机毕业设计教务排课系统(附源码、数据库)
- 将二进制转换成十进制 C语言
- 动作游戏的打击感和音效的关系
- 简单融合双系统 苹果虚拟Win8实用技巧
- 社区项目发现的问题四 datatable的注意事项
- Hibernate 查询Criterion数据
- C语言数组练习-摘苹果
- Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、LIO-SAM 和 LVI-SAM
- Hadoop,master和slave简单的分布式搭建
- pr预设的卷及内核锐化是什么_PR内置特效合集
- 7-1 九宫格密码 (100 分)
- 【Weiler-Atherton算法】 计算机图形学多边形裁剪算法
- Java8函数式编程之一: 行为参数化
- 【NOIP2013模拟联考5】小麦亩产一千八(kela) (Standard IO)
- 下载keil和proteus遇到的问题——学习笔记