精华内容
下载资源
问答
  • printf("源端口号:%d,目的端口:%d,头部长度:%d,头部校验:0x%x\n\n",uh->sport1*256+uh->sport2,uh->dport1*256+uh->dport2,uh->len1*256+uh->len2,uh->crc1*256+uh->crc2); } if (ih->proto==6) {cout上层协议...
  • 如题,分享一个提取pcap文件中TCPUDP数据包的五元组即(IP地址,目的IP地址,端品号,目的端口号,协议类型)并将其转存在一个json文件中的代码。另外,我有清华校园网,中国电信,香港全球通信以及CAIDA的...

        如题,分享一个提取pcap文件中TCP和UDP数据包的五元组即(源IP地址,目的IP地址,源端品号,目的端口号,协议类型)并将其转存在一个json文件中的源代码。另外,我有清华校园网,中国电信,香港全球通信以及CAIDA的trace,其中清华校园网和中国电信的trace文件是数据流的形式(中国电信是1:5000的NetFlow采样比),香港全球通信和CAIDA的trace文件是数据包的形式。有需要的同学可以给我发邮件(赵宗义,xinshengzzy@foxmail.com)

    from scapy.all import *
    import json
    
    src_hgc = "./HGC.20080415000.pcap"
    dst_hgc = "./HGC.20080415000.json"
    src_caida = "./CAIDA.equinix-nyc.dirA.20180315-125910.UTC.anon.pcap"
    dst_caida = "./CAIDA.equinix-nyc.dirA.20180315-125910.UTC.anon.json"
    #limit = 5000000
    limit = -1
    count = 0
    pkts = []
    
    def func(pkt):
    	global pkts, count, limit
    	srcip, dstip, proto, sport, dport = None, None, None, None, None
    	if pkt.haslayer(IP):
    		srcip = pkt[IP].src
    		dstip = pkt[IP].dst
    		proto = pkt[IP].proto
    		if pkt.haslayer(TCP):
    			sport = pkt[TCP].sport
    			dport = pkt[TCP].dport
    		elif pkt.haslayer(UDP):
    			sport = pkt[UDP].sport
    			dport = pkt[UDP].dport
    	if srcip and dstip and proto and sport and dport:
    		flowID = "\t".join([srcip, dstip, str(proto), str(sport), str(dport)])
    		pkts.append(flowID)
    		count = count + 1
    	if limit > 0 and count >= limit:
    		return True
    	else:
    		return False
    
    def transform(src, dst, n_pkts = -1):
    	global limit, count, pkts
    	limit = n_pkts
    	count = 0
    	pkts = []
    	sniff(offline=src, stop_filter=func, store=False)
    	with open(dst, "w") as f:
    		json.dump(pkts, f)
    
    
    transform(src_hgc, dst_hgc)
    transform(src_caida, dst_caida)
    

     

    展开全文
  • IP地址与端口

    千次阅读 2019-02-11 11:35:17
    一个数据报的头部不应该只存在源IP地址和目的IP地址,还应该存在一个协议字段告诉应该交给上层的哪一个协议 2.端口号 《1》基本概念 端口号是传输层的概念 端口号是一个2字节16位的整数 端口号用来标识一个...

    1.IP地址

    • IPv4版本的IP地址为4字节,也就是32位
    • 网络层的数据报中封装两个IP地址,一个源IP地址(数据报源主机的IP),一个目的IP地址(数据报目的主机的IP)
    • 一个数据报的头部不应该只存在源IP地址和目的IP地址,还应该存在一个协议字段告诉应该交给上层的哪一个协议

    2.端口号

    《1》基本概念

    • 端口号是传输层的概念

    • 端口号是一个2字节16位的整数

    • 端口号用来标识一个进程,用来告诉OS,将数据交给哪一个进程

    • IP地址+端口号可以唯一的表示网络中一个主机的进程

    • 一个端口号只能被一个进程占用
      《2》端口号与进程 ID
      一个进程PID也可以唯一的标识一个进程,那么端口号的意义在哪?

    • 当一个进程退出时,再次启动进程时,它的PID已经变化,所以要将进程与端口号绑定来标识这个进程

    • 一个进程可以绑定多个端口号,但是一个端口号只能被一个进程绑定
      《3》源端口号与目的端口号
      传输层协议TCP/UDP的数据段中,也存在两个字段,一个是源端口号,一个是目的端口号,它用来表示这个数据是哪一个进程发的,要发给哪一个进程。

    2.TCP协议与UDP协议特点

    TCP:

    • 传输层协议
    • 面向连接,两个主机只有建议连接之后才可以通信
    • 可靠传输,建立连接之后,占用端到端的通信资源
    • 面向字节流,发送的字节流数据之间没有明确的间隔
      UDP
    • 传输层协议
    • 面向无连接,尽最大努力交付
    • 不可靠的传输
    • 面向数据报,发送的一个数据是一个整体,它们之间有明确的间隔

    3.网络字节序

    内存中大于1个字节的数据相对于内存地址存在大小端之分,磁盘文件中多字节数据相对于偏移地址也存在大小端之分,网络中的数据流也存在大小端之分。
    网络字节流的大小端:

    • 发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出。接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存。
    • 网络数据流的地址规定,先发出的数据是低地址,后发出的数据是高地址。
    • TCP/IP协议规定,网络数据流应采用大端字节序,即低地址高字节。
    • 不管这台主机是大端机还是小端机, 都会按照这个TCP/IP规定的网络字节序来发送/接收数据。如果当前发送主机是小端, 就需要先将数据转成大端, 否则就忽略, 直接发送。

    为了使网络程序具有可移植性,使同样的C代码在大端和小端计算机编译后都能正常运行,可以调用以下库函数对网络字节序和主机字节序的转换

    #include <arpa/inet.h>
    //h--host主机,n--net网络,l--long长整型32位,s--short短整型16位
    uint32_t htonl(uint32_t hostlong);//主机-->网络(32位)
    uint16_t htons(uint16_t hostshort);//主机-->网络(16位)
    uint32_t ntohl(uint32_t netlong);//网络-->主机(32位)
    uint16_t ntohs(uint16_t netshort);//网络-->主机(16位)
    
    
    展开全文
  • TCP/IP详解 卷1:协议--代码

    热门讨论 2012-10-19 12:27:56
    18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP...
  • UDP协议及其安全隐患

    千次阅读 2020-03-18 11:47:29
    源端口和目的端口也是用来标志应用程序 UDP协议的特点 无连接的协议 传输数据之前,源端和目的端无需建立连接。 不像TCP协议那样需要建立连接以后才能传输数据,而是在每一个消息数据中都包含目的地址的信息。 不...

    UDP协议

      Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据报的方法。UDP协议是TCP/IP协议栈中传输层另外一个重要的协议。
      UDP协议与TCP协议一样用于处理数据包,在OSI模型中,两者都位于传输层,处于IP协议的上一层。

    UDP协议的消息格式
    在这里插入图片描述

    • 源端口和目的端口也是用来标志应用程序,为不同的应用保留其各自的数据传输通道
    • 消息长度:是指包括报头和数据部分在内的总字节数
    • 校验和:UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。

    UDP协议的特点
      它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频等使用UDP协议较多,另外我们所用的聊天软件也是使用的UDP协议进行的。它具有以下的特点:

    • 无连接的协议
        传输数据之前,源端和目的端无需建立连接。 不像TCP协议那样需要建立连接以后才能传输数据,而是在每一个消息数据中都包含目的地址的信息。

    • 不可靠的协议
        UDP协议不存在序列号和确认好号,如果在从发送方到接收方的传递过程中出现数据报的 丢失,协议本身并不能做出任何检测或提示

    • 不保序的协议
        不能确保数据的发送和接收顺序

    UDP协议的安全威胁

    • 假冒攻击
        在UDP协议当中,通信双方不需要提前建立连接,也没有提供任何的认证功能,攻击者可以修改UDP数据包中的IP地址,并将修改后的数据发送到网络上。由于是假冒的,所以UDP应答会发送到其他的主机。
      在这里插入图片描述
    • 泛洪攻击
        攻击者可以向被攻击者发送大量的UDP消息,被攻击目标会忙于处理这些消息而浪费大量的存储资源和计算资源,从而实现拒绝服务攻击的目的。
      在这里插入图片描述
    • 劫持攻击
        通信双方并不知道谁将和他们建立通信,攻击者可以同时发送数据包给通信双方,以便于达到欺骗对方的目的。如:可信客户端发送了一个UDP请求之后,可能会在接收到UDP应答之前得到一个伪造的消息。因为没有相应的认证机制,所以可信客户端并不知道攻击者所发送的UDP响应是伪造的信息。
      在这里插入图片描述
    展开全文
  • T C P是一个面向连接的协议,它意味着分别运行于两主机(由 I P地址确定)内的两进程(由端口号确定)间存在一条连接 单播  考虑包含多个主机的共享信道网络如以太网。每个以太网帧包含主机和目的主机的以太网...

    广播和多播仅应用于 U D P,它们对需将报文同时传往多个接收者的应用来说十分重要。T C P是一个面向连接的协议,它意味着分别运行于两主机(由 I P地址确定)内的两进程(由端口号确定)间存在一条连接

    单播

      考虑包含多个主机的共享信道网络如以太网。每个以太网帧包含源主机和目的主机的以太网地址(4 8 b i t)。通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,因而称为单播( u n i c a s t )。在这种方式下,任意两个主机的通信不会干扰网内其他主机(可能引起争夺共享信道的情况除外)

     

    广播

     

    广播分组的目标IP地址的主机部分全为1,这意味着本地网络(广播域)中的所有主机都将接收并查看该分组。诸如ARP和DHCP等很多网络协议都使用广播。

     

    例如:

     

    C类网络192.168.1.0的默认子网掩码为255.255.255.0,其广播地址为192.168.1.255,其主机部分为十进制数255或二进制数11111111(全为1);

     

    B类网络172.16.0.0的默认子网掩码为255.255.0.0,其广播地址为172.16.255.255;

     

    A类网络10.0.0.0的默认子网掩码为255.0.0.0,其广播地址为10.255.255.255。

     

    在以太网帧中,必须包含与广播IP地址对应的广播MAC地址。在以太网中,广播MAC地址长48位,其十六进制表示为FF-FF-FF-FF-FF-FF。图5.9所示的是一个广播IP分组。

     

    3.多播

    多播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个多播组IP地址,多播地址范围为224.0.0.0~239.255.255.255。由于多播地址表示一组设备(有时被称为主机组),因此只能用作分组的目标地址。源地址总是为单播地址。

    远程游戏就是一个使用多播地址的例子,很多玩家通过远程连接玩同一个游戏;另一例子是通过视频会议进行远程教学,其中很多学生连接到同一个教室。还有一个例子是硬盘映像应用程序,这种程序用于同时恢复众多硬盘的内容。

    同单播地址和广播地址一样,多播IP地址也需要相应的多播MAC地址在本地网络中实际传送帧。多播MAC地址以十六进制值01-00-5E打头,余 下的6个十六进制位是根据IP多播组地址的最后23位转换得到的。一个MAC多播地址是01-00-5E-0F-64-C5,如图5.10所示。每个十六 进制位相对于4个二进制位。

     

     

    转载于:https://www.cnblogs.com/duan2/p/9159894.html

    展开全文
  • 18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • TCP协议

    2018-08-27 11:14:49
    16位/目的端口号:表示数据是从哪个进程来到哪个进程去 32位序号:表示发送数据的位置,每多发送一次数据,就多累加一次该数据字节数的大小 注:序列号不会从0或1开始,而是在建立连接时由计算机生成的一个...
  • 第1版是“最小化”的,因为我常只举两个例子:两种网桥,网桥与路由器,面向连接的与无连接的网络层协议,两个无连接的协议(CLNPIP)。在本版中我增加了更多的例子,包括ATM、IPv6、IPX、AppleTalkDECnet。这样...
  • 传输层协议之TCP协议

    2019-10-06 14:15:10
    TCP(传输控制协议) 特点 面向连接 可靠传输 有确认应答机制,重传机制,连接管理机制等; 面向字节流 发送端执行的写操作次数接收端执行的读操作次数之间没有任何数量.../目的端口号:表示数据从哪个进程来,...
  • 18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • 传输层UDP协议

    2020-06-13 22:21:11
    源端口(2字节)+目的端口(2字节)+ 数据长度(最大表示65536)+校验 当应用层数据大于2^16时,应该在应用层进行分片传输。分多次使用UDP协议进行传输。对于接收端UDP来说从协议栈当中接收的UDP数据对于应用层...
  • 18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • 广播风暴: 如果交换机从接收到了一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴。 如图,SWA...
  • TCP协议分析(一)

    2018-02-26 11:42:22
    近来因为面试需要,决定重新学习一下TCP协议,这是自己在学习过程中的知识总结,希望给用到的同学提供帮助,如若存在疏漏错误之处,还请大家在文末留言纠正。 1.报文格式 下图给出了TCP数据报的格式: ...
  • TCP-IP详细协议

    2014-02-26 17:36:07
    18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • 一般说来,无论何时一个报文段发往基准的连接(referenced connection)出现错误,TCP都会发出一个复位报文段(这里提到的“基准的连接”是指由目的 I P 地址和目的端口号以及 I P 地址和源端口号指明的连接。...
  • 1.源端口和目的端口,各占两个字节,分别写入源端口和目的端口; 2.序号,占4个字节,TCP连接中传送的字节流中的每个字节 都按顺序编号,例如,一段报文的序号字段值是101,携带的数据共有100字段,则下一段报文...
  • TCP-IP详解卷一:协议

    2011-12-08 14:38:58
    18.7.1 到不存在端口的连接请求 18.7.2 异常终止一个连接 18.7.3 检测半打开连接 18.8 同时打开 18.9 同时关闭 18.10 TCP选项 18.11 TCP服务器的设计 18.11.1 TCP服务器端口号 18.11.2 限定的本地IP地址 ...
  • 18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • TCP/IP详解卷1:协议

    2015-06-03 08:52:28
    18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • TCP-IP详解卷1:协议

    热门讨论 2010-05-28 10:49:21
    18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • TCP_IP协议详解卷一

    2010-01-07 22:32:19
    18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • tcp/ip详解卷一:协议

    2010-09-14 10:56:54
    18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...
  • TCPIP详解(卷1协议)

    2010-02-14 22:59:59
    18.7.1 到不存在端口的连接请求 187 18.7.2 异常终止一个连接 187 18.7.3 检测半打开连接 188 18.8 同时打开 189 18.9 同时关闭 191 18.10 TCP选项 191 18.11 TCP服务器的设计 192 18.11.1 TCP服务器端口号 193 ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

存在源端口和目的端口的协议