private void MakeInformationTCP(TCPHeader tcpHeader) { TreeNode tcpNode = new TreeNode("TCP", new TreeNode[] { new TreeNode($"Porta Origem: {tcpHeader.SourcePort}"), new TreeNode($"Porta Destino: {tcpHeader.DestinationPort}"), new TreeNode($"Número da sequência: {tcpHeader.SequenceNumber}"), new TreeNode($"Número Acknowledgement: {tcpHeader.AcknowledgementNumber}"), new TreeNode($"Tamanho do cabeçalho: {tcpHeader.HeaderLength}"), new TreeNode($"Flags: {tcpHeader.Flags.AllFlags}", new TreeNode [] { new TreeNode($"NS: {tcpHeader.Flags.NS}"), new TreeNode($"CWR: {tcpHeader.Flags.CWR}"), new TreeNode($"ECN: {tcpHeader.Flags.ECN}"), new TreeNode($"URG: {tcpHeader.Flags.URG}"), new TreeNode($"ACK: {tcpHeader.Flags.Ack}"), new TreeNode($"PSH: {tcpHeader.Flags.Psh}"), new TreeNode($"RST: {tcpHeader.Flags.Rst}"), new TreeNode($"SYN: {tcpHeader.Flags.Syn}"), new TreeNode($"FIN: {tcpHeader.Flags.Fin}"), }), new TreeNode($"Tamanho da janela: {tcpHeader.WindowSize}"), new TreeNode($"Checksum: {tcpHeader.Checksum}"), new TreeNode($"Ponteiro Urgente: {tcpHeader.UrgentPointer}") }); treeView1.Nodes.Add(tcpNode); }
private void listPackets_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { string protocol = e.Item.SubItems[3].Text; int key = Int32.Parse(e.Item.SubItems[0].Text); Packet packet; bool hasPacket = capturedPackets_list.TryGetValue(key, out packet); textProperties.Text = ""; IIpHeader ipHeader; if (hasPacket) { MemoryStream memoryStream = new MemoryStream(packet.PayloadPacket.Header, 0, packet.PayloadPacket.Header.Length); BinaryReader binaryReader = new BinaryReader(memoryStream); if (((PacketDotNet.EthernetPacket)packet).Type == PacketDotNet.EthernetPacketType.IpV4) { ipHeader = new IPHeaderV4(binaryReader); MakeInformationIP(ipHeader); } else if (((PacketDotNet.EthernetPacket)packet).Type == PacketDotNet.EthernetPacketType.IpV6) { ipHeader = new IPHeaderV6(binaryReader); MakeInformationIP(ipHeader); } else { textProperties.Text = "Desconhecido"; } textProperties.Text += "\r\n"; if (protocol.Equals("TCP")) { var tcpPacket = (TcpPacket)packet.Extract(typeof(TcpPacket)); if (tcpPacket != null) { var tcpHeader = new TCPHeader(tcpPacket); MakeInformationTCP(tcpHeader); } } else if (protocol.Equals("UDP")) { var udpPacket = (UdpPacket)packet.Extract(typeof(UdpPacket)); if (udpPacket != null) { var udpHeader = new UDPHeader(udpPacket); MakeInformationUDP(udpHeader); } } } }
private void MakeInformationTCP(TCPHeader tcpHeader) { textProperties.Text += "\r\nTCP" + "\r\n\tPorta Origem: " + tcpHeader.SourcePort + "\r\n\tPorta Destino: " + tcpHeader.DestinationPort + "\r\n\tNúmero da sequência: " + tcpHeader.SequenceNumber + "\r\n\tNúmero Acknowledgement: " + tcpHeader.AcknowledgementNumber + "\r\n\tTamanho do cabeçalho: " + tcpHeader.HeaderLength + "\r\n\tFlags: " + tcpHeader.Flags + "\r\n\tTamanho da janela: " + tcpHeader.WindowSize + "\r\n\tChecksum: " + tcpHeader.Checksum + "\r\n\tPonteiro Urgente: " + tcpHeader.UrgentPointer; }
private void listPackets_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { string protocol = e.Item.SubItems[3].Text; int key = Int32.Parse(e.Item.SubItems[0].Text); Packet packet; bool hasPacket = capturedPackets_list.TryGetValue(key, out packet); IIpHeader ipHeader; if (hasPacket) { MemoryStream memoryStream = new MemoryStream(packet.PayloadPacket.Header, 0, packet.PayloadPacket.Header.Length); BinaryReader binaryReader = new BinaryReader(memoryStream); treeView1.Nodes.Clear(); if (((PacketDotNet.EthernetPacket)packet).Type == PacketDotNet.EthernetPacketType.IpV4) { ipHeader = new IPHeaderV4(binaryReader, this.ip2l); MakeInformationIP(ipHeader); } else if (((PacketDotNet.EthernetPacket)packet).Type == PacketDotNet.EthernetPacketType.IpV6) { ipHeader = new IPHeaderV6(binaryReader, this.ip2l); MakeInformationIP(ipHeader); } else { treeView1.Nodes.Add("Desconhecido"); } if (protocol.Equals("TCP")) { var tcpPacket = (TcpPacket)packet.Extract(typeof(TcpPacket)); if (tcpPacket != null) { var tcpHeader = new TCPHeader(tcpPacket); MakeInformationTCP(tcpHeader); } } else if (protocol.Equals("UDP")) { var udpPacket = (UdpPacket)packet.Extract(typeof(UdpPacket)); if (udpPacket != null) { var udpHeader = new UDPHeader(udpPacket); MakeInformationUDP(udpHeader); } } else if (protocol.Equals("ICMP")) { var icmpv4Packet = (ICMPv4Packet)packet.Extract(typeof(ICMPv4Packet)); if (icmpv4Packet != null) { var icmpv4Header = new ICMPv4Header(icmpv4Packet); MakeInformationICMPv4(icmpv4Header); } } else if (protocol.Equals("ICMPV6")) { var icmpv6Packet = (ICMPv6Packet)packet.Extract(typeof(ICMPv6Packet)); if (icmpv6Packet != null) { var icmpv6Header = new ICMPv6Header(icmpv6Packet); MakeInformationICMPv6(icmpv6Header); } } treeView1.ExpandAll(); } }