Python Convert Pcap To Netflow

Your program does not need to process each packet. Please see the included pcaptest. Network Monitoring Platforms (NMPs) - Comparison of NMPs, ActionPacked! 3 LiveAction is a platform that combines detailed network topology, device, and flow visualizations with direct interactive monitoring and configuration of QoS, NetFlow, LAN, Routing, IP SLA, Medianet, and AVC features embedded inside Cisco devices. Python Programming tutorials from beginner to advanced on a massive variety of topics. Free software downloads at DownloadPlex. Name flow-export - Export flow-tools files into other NetFlow packages. To convert to. No Pcap-NG Support. Issue With PyShark. Advanced visualization using different views of various levels. The main difference between NetFlow and sFlow is that NetFlow is restricted to IP only, whereas sFlow has the ability sample everything (network layer independent). pcap file (incl. The steps are as shown below. to convert the packet data to a text based format and wrote my own parser. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e. On Windows and OS X, files are distinguished by an extension to their filename. On command line, you have to run the following command: tshark -V -r file_to_convert. So the best approach for organizations is to use NetFlow first (due to the ease of collection and queries) then complement with PCAP later, as resources allow. Learn more about how to make Python better for everyone. pcap to get pcd files. Python and libpcap were able to load the data from the pcap, but rendered the binary into a long string with escape codes like '\xff'. pcap, captured during malware analysis in a virtual ennvironment, to zeus. TrafShow also listens UDP 9995 by default for Cisco Netflow to print metrics about flow. Consider that the industry expects NetFlow tools to process 5 fps per Mbps. When a single interface is used in the capture, and as long as the files are not corrupt, it's easy to convert between the two. ) Once you've got your pcap file: Read in the pcap file; Loop through each packet to gather some basic aggregate statistics; Read Pcap File. I need to decently extract some information from a bunch of pcap-ng files, but apparently tcpdump has some problems reading those files, I couldn’t find other nice tools nor Python bindings to a library able to parse this format, so. By using this site, Using command prompt (tshark command), i want to convert the. Any recommendations? It should be possible, but I am not aware how it should be done. While the name is an abbreviation of the technical term of art packet capture, that is not the API's proper name. This suggests that a. Extract Images from PCAP file using Wireshark Step by Step Directions to extract images, webpages, text, etc from a PCAP file (This is also a write up for 2012 NCL Round 1 Capture The Flag- Question: "What flag was present on the defaced website?". 9, it is very easy to write custom processing applications. I love the fact that it gives details like how long it would take you to do the course in regards to your pace. Comparison: Python 2 vs Python 3. One of the key elements in the new NetFlow Version 9 format is the template FlowSet. ( typically ever 5 min ) nfcapd reads netflow v5, v7 and v9 flows transparently. If later on you want to process this recorded PCAP file in some SLAM algorithm in ROS e. Reads the netflow data from the network and stores the data into files. Logstash can consume NetFlow v5 and v9 by default, but we chose to only list for v5 here. No Pcap-NG Support. On re-branding (september 2014), that means the date of union of Cosmote and Romtelecom by merging the customer portfolio, Telekom Romania came in first place in number of customers on Romanian telecommunications market. Using Python to Extract Excel Spreadsheet Into CSV Files I came across the Python Excel website which pointed me at the xlrd library since I'm working with a pre 2010 Excel file. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding. Orange Applications for Business presents pcap2c. Although Ostinato is primarily designed to create packets from scratch, you can also import an existing PCAP file, edit (optional) and replay it. However probe allocation is much more effective as it reduces significantly the number of emitted flows hence the work that the collector has to carry on. See the paragraph on the Filtering expression syntax for details. pcapng format. Stream supports both. Hello, I know this must be pretty basic stuff for you but I went through all docs and tutorials with no success. Why Python ? No real rationale, but a clean and easy to learn language. GitHub Gist: instantly share code, notes, and snippets. GZ to ZIP Converter. Lastly, you could look at parsing the files you're creating, and making a json file out of them, as I think logstash can read that. Ask Question I am trying to convert my. As part of our monitoring solution, we needed to generate RRD graphs from off-line PCAPS. For additional examples, see the sFlow Blog. I would like the output csv file output using tshark AS IF i export the pcap data to the csv file using Wireshark GUI. map generator; dumpdynamicrules - Snort SO stub generator helper; Library. In this case you will loose a lot of data out of the pcap (with netflow you only have header data and not the payload) Gr. conf in the logstash directory. Python-Institute PCAP Premium Exam vce pdf. pcap file want to convert it into. com Flow analysis can help to determine traffic statistics overall, but it falls short when you need to analyse a specific conversation in depth. Contribute to hbhzwj/pcap-converter development by creating an account on GitHub. Python Launcher is an open-source program that allows Python scripts (. exe out of the Wireshark package. 2 using commands below (I downloaded. PYTHON INSTITUTE > PCAP; Certified Associate in Python Programming. When a single interface is used in the capture, and as long as the files are not corrupt, it's easy to convert between the two. sFlow's statistical sampling is integrated with the hardware and provides real-time, raw export. sflowtool -c netflow. py) are part of open source Phoenix packages. csv: tcpdump -vttttnnelr zeus. Finally the output above is saved to a file using the bytearray function. The files are wireshark captures in. 88 12055 will play out all Netflow packets in the capture file to the collector at 192. Wide range of supported capture engines: sFlow v5, Netflow v5, v9, jFlow, IPFIX (including complete support for sampled flows), mirror ports (sampled). Python Launcher. usage: wildfire-to-stix. py convert pcap into netflow like output v. 11 packet to an XML and SQLITE Equivalent. To convert the PCAP file e. Templates make dynamically sized and configured NetFlow data flowsets possible, which makes the collector's job harder. Start scapy: $ scapy Welcome to Scapy (2. The machine learning algorithms classify and predict both the type of device and if the device is acting normally or abnormally. This is the reason for lack of documentation about it It should be still supported, not everything was checked in regression and it got broken at some point of time. Let IT Central Station and our comparison database help you with your research. Before enabling statistical mode, the user has the option to set a filter that defines the subset of network traffic that will be monitored. Furthermore, the Python port pyculiarity seems to cause issues in implementing in Windows environment. The amount of time back in the past is limited only by the disk space available for all the netflow data. The sniff() function of Scapy takes the name of a callback function. PCEP – Certified Entry-Level Python Programmer certification shows that the individual is familiar with universal computer programming concepts like data types, containers, functions, conditions, loops, as well as Python programming language syntax, semantics, and the runtime environment. Agenda Setup Introduction to Suricata Suricata as a SSL monitor Suricata as a passive DNS probe Suricata as a flow probe Suricata as a malware detector. Some info here is helpful, but unfortunately, I am struggling to find the right package because: Twitter's "AnomalyDetection" is in R, and I want to stick to Python. pcap This, generates a netflow trace but it cannot be used by flow-export correctly, since it is not in the right format. Please see the included pcaptest. In case of big files I have split the pcap files into smaller files by using editcap. dpkt, Release 1. The main goal is to provide developers with a fast, easy to use, powerful and reliable program interface. This chapter shows you how to create a Python script that can run ns-3 and also the process of creating Python bindings for a C++ ns-3 module. pcapng files on Windows, you must first convert them to. Subscribe by sending an e-mail to [email protected] I have a sample pcap file and i opened it as a wireshark GUI. The original author may be different from the user re-posting/linking it here. It highlights major aspects of Python network programming such as writing simple networking clients, creating and deploying SDN and NFV systems, and extending your network with Mininet. It is simple to monitor a server BW with iftop command. You’ll also learn how to automate legacy and the latest network devices. Download free 30-day analyzer software trial!. He wants to make a python library to let Bob access the dataset. An iterator is an object that contains a countable number of values. This version modifies argument parsing using optparse and provides a few additional options to add subject, author, keywords etc. TRex realistic traffic generator hhaim 2014-11-01 What problem is being solved? the pcap file that include DNS cap file that will be replicate how many connection per second to generate, 1. On Fri, Aug 23, 2013 at 9:30 PM, Steven D'Aprano wrote: Is there a fast way to convert a Decimal into a pair of numbers numerator/ denominator? It *must* be exact, but it doesn't have to be simplest form. PYTHON INSTITUTE > PCAP; Certified Associate in Python Programming. Each stream can be named. Consider that the industry expects NetFlow tools to process 5 fps per Mbps. Using Wireshark to view netflow data Normally I don't use wireshark unless my only option is a windows machine to view traffic. The quantity of binary and text based output of Tranalyzer depends on enabled plugins. pcap) files ← All Posts Posted on September 25, 2015 By admin You may have seen in recent news stories that the evidence of online piracy hunter Daniel Macek has been called into question in the Sydney Federal Court. Which language is used to query a relational database? Python C++ Java SQL 5. In this article we shall use the pcapy python module. This would make it possible to read a trace file generated from any port of any topology and replay the traffic exactly onto your custom topology. python cap2netflow. PCAP Edit and Replay. Bundled BGP and BGP flow spec (RFC 5575) support. The goal here is to rebuild the audio from a recorded Packet Capture. Capturing Network Traffic into Database Key Words: Sniffer, Network Analyzer, Wireshark, MySQL, Database, PCAP to MySQL 2. Thegenerated code includes the decoded fields and the function to assembly thepacket. However, you can simply leverage editcap to convert pcap-ng data to "normal" pcap. basic concepts: interpreting and the interpreter, compilation and the compiler, language elements, lexis, syntax and semantics, Python keywords, instructions, indenting. This guide walks through setting up YAF on a Debian Linux host to receive data from a network tap or Switched Port Analyzer (SPAN) and converting it using Yet Another Flowmeter (YAF). pcap file want to convert it into. I use the tshark -x -r file. cap2netflow. This facilitates much longer-term records retention. Advanced logging allows you to observe the RX rate in fine detail. Automatically rotate files every n minutes. Python: Python 2. More information on TAR, TAR Archive File (. The primary advantage argued for sFlow is scalability. The FlowTraq® flow exporter enables you to export NetFlow v5 or v9 to up to 16 flow collectors. Let's write a callback function that will write the packets onto a file. 1 is a powerful application that allows you to convert different units of measurement from one into another. Name flow-export - Export flow-tools files into other NetFlow packages. Converting tcpdump output to text2pcap acceptable input. GZ to ZIP Converter. Online tool for hex decoding a string. The profile is a program of related streams. Finding out what SSID's were captured by filtering them out using tools such as tcpdump and pyrit. Name Website Source Description Programming language Price Online; Bopscrk: Before Outset PaSsword CRacKing, password wordlist generator with exclusive features like lyrics based mode. Originally designed to replay malicious traffic patterns to Intrusion Detection/Prevention Systems, it has seen many evolutions including capabilities to replay to web servers. because of some issue I couldn't use -w traffic. This is the opposite of x86's little-endian byte ordering, so these values must be converted. exe out of the Wireshark package. On re-branding (september 2014), that means the date of union of Cosmote and Romtelecom by merging the customer portfolio, Telekom Romania came in first place in number of customers on Romanian telecommunications market. The Python interface is a straightforward transliteration of the Unix system call and library interface for sockets to Python’s object-oriented style: the socket() function returns a socket object whose methods implement the various socket system calls. Might come in handy for quick experiments. The quantity of binary and text based output of Tranalyzer depends on enabled plugins. Learn more about how to make Python better for everyone. You can save the content of an RTP audio stream to an Au-file directly from Wireshark. So, I hope I have been able to save you some time. I found that for the testing that I was doing I needed a script to automate the creation of the sqlmap command from the input of a HTTP web request. 我有完全相同的需求,并查看nltk. This suggests that a. Traffic profile modules¶ The TRex STLProfile traffic profile includes a number of streams. Note that payload conversion requires Scapy, and will not recreate the original packets as the headers need to be built on the fly from the available information in the eve log. Hi, Scenario: I have a stored. Python strongly encourages community involvement in improving the software. go programs for instructions on how to use this library. ‘Hello world’ for network engineers exploring Hadoop JR Mayberry November 15, 2013 It is hard to ignore all of the hype around Hadoop and Big Data these days. In many cases traffic analysis software supports both sFlow and NetFlow, so conversion is unnecessary. 7 is scheduled to be the last major version in the 2. The best way to get started using argus, is to get the argus and client software from here, compile it on one of your Mac OS X, Linux, Unix or Cygwin enabled Windows systems, and play around with analyzing a few packet streams, to see how it basically works. free and open source software. Pcap Converter: convert pcap to text or flows. because of some issue I couldn't use -w traffic. Implementing a network order packing function - pkt2net() PCAP Query class. After installation, add the Python installation directory and its Scripts subdirectory to your PATH. The implemented functionality includes: Analysis project management that enables to analyze multiple PCAPs in a single session. This is a survey that gives an overview on network traffic flow information. Some info here is helpful, but unfortunately, I am struggling to find the right package because: Twitter's "AnomalyDetection" is in R, and I want to stick to Python. – To avoid putting additional CPU load on existing switching or routing gear. It features a general infrastructure for dynamically. Yesterday, I packaged and released my first python library pcap_to_ditg's version 0. mac_addr (address) [source] ¶ Convert a MAC address to a readable/printable string. Step 1: Convert decimal numbers to their binary equivalent. How would I go about converting a RTP stream from a pcap file to wav format with a command-line tool such as sox? Stack Exchange Network Stack Exchange network consists of 175 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. Instead, we sketch the trade offs and then model these in python. cflow/netflow v9 template and data. org with the phrase "subscribe tcpdump-workers" as body and subject, or through the web interface. Cisco CDR Timestamp and IP Address Conversion; pylab ipython python macos lion. cap) files to text files or some format from which I can read the file and parse its contents ? Regards, Mithun. Datacamp provides online interactive courses that combine interactive coding challenges with videos from top instructors in the field. Hi, is there a way to convert a file into a pcap file? i have a. 30 Essential Python Tips and Tricks for Programmers Tips#1. Below we will create a file named logstash-staticfile-netflow. An intuitive and simple web interface is provided for PCAP browsing, searching, and exporting. -v When parsing and printing, produce (slightly more) verbose output. PcapNG metadata, such as OS, application, capture filter and annotations, is also extracted and displayed. Reader) examples. Default values are recommended. 7 is scheduled to be the last major version in the 2. Generate Yandex-tank ammos from pcap or har files using pcap2ammo or har2ammo scrips. hex - Your L3 packet looks like this 45 00 05 dc 21. go and tcpdump. This how-to shows how to convert an MP3, WAV or other audio file into a raw format. This is where Pcap2XMl/Sqlite comes in! We map every header field in an 802. Experience and knowledge of packet flow, TCP/UDP traffic, firewall technologies, IDS technologies, proxy technologies, and antivirus, spam and spyware solutions. OPTIONS -d debug_level Enable debugging. Some info here is helpful, but unfortunately, I am struggling to find the right package because: Twitter's "AnomalyDetection" is in R, and I want to stick to Python. PcapNG metadata, such as OS, application, capture filter and annotations, is also extracted and displayed. In Part 1, you will convert decimal numbers to their binary equivalent. Track record of creative problem solving, and the desire to create and build new processes. You can open up either a pcap or pcapng file in WIreshark. share | improve this answer. Or if you can export the data with something like, tcpdump -vvv, it can be grok'd. The point is not that we go into models in detail. GitHub Gist: instantly share code, notes, and snippets. Python Launcher is an open-source program that allows Python scripts (. text2pcap - How to convert ASCII packet dumps to. Tool to create pcap file for any given file September 28, 2016 November 4, 2016 Raghavendra Balgi Automation , Debugging , Linux , pcap , QA , tcpdump Got a file with you & wondered if you could have the same file in a pcap with http transaction for your testing. pcap file using Wireshark. pcap > I had the same issue with nProbe because it would put local timestamps into the flows and nfcapd (rightly) expects UTC. Step 3) Import CSV files into ElasticSearch After this map is PUT on ElasticSearch, we can have our Python script to import CSV file created on step 1. You need to know or figure out where the camera is at every given moment. Python is ranked 5th amongst the top trending programming languages. pcap) Visualize it using 3D viewer Extract XYZ and Intensity data from acquired raw data What I accomplished so far is only No. com Flow analysis can help to determine traffic statistics overall, but it falls short when you need to analyse a specific conversation in depth. The fundamentals of computer programming, i. 16, is currently available. This process is documented in the silkpython(3) manual page. Stream supports both. Python or R for implementing machine learning algorithms for fraud detection. If you are not prepared for PYTHON INSTITUTE certification PCAP exam questions and want to get some help so, now you do not need to take tension. PCAP - Certified Associate in Python Programming certification is a professional credential that measures your ability to accomplish coding tasks related to the basics of programming in the Python language and the fundamental notions and techniques used in object-oriented programming. Binary numbers can make up octal number. but on ntopng , i am able to see the sflow data but is there any way i can convert/dump this data to pcap format? as i need data in pcap to analyze it. About Us Loads from pcap files Projects we've already started converting to extcap, or which we plan to use extcap in. An iterator is an object that contains a countable number of values. It can also handle Cisco NetFlow, Juniper J-Flow, sFlow, Huawei NetStream, and IETF-standard IPFIX flow data to identify which applications, protocols, or users are the top bandwidth consumers. Wireshark was already mentioned, but there are other alternatives as well. If it is an IP packet, we parse out the IP header and use the inet_ntop() function to convert the IP addresses found in the IP header into a human readable format (i. When executing a script, the launcher looks for a Unix-style #! (shebang) line in the script. 0, either use pcap_open_live to get a handle for a live capture or, if you want to be able to use the additional capabilities offered by using pcap_create and pcap_activate. 1) >>> To read a pcap file, use the rdpcap() method and pass the absolute path to the. Nowadays Alice has to implement her own time class losing all the flexibility of the datetime module. Note that each sample is in Little-Endian format. So now we mesh the threading tutorial code with our port scanning code:. 4 it would fail due to a oddity in the comments on a file. Here are the results of a couple of hours of figuring out RRDtool's subleties: a small pair of scripts to chart NetFlow data (example results). I have suffered from timestamp problems with PCAP files over 500MB. Avoid all the hassles of getting. I need to decently extract some information from a bunch of pcap-ng files, but apparently tcpdump has some problems reading those files, I couldn't find other nice tools nor Python bindings to a library able to parse this format, so. All video and text tutorials are free. Python script to convert an HTTP Web Request to a sqlmap Command Today I was working with OWASP ZAP and sqlmap for some testing. Daniel Miessler is a cybersecurity expert and author of The Real Internet of Things, based in San Francisco, California. Experience with Netflow or PCAP analysis. pcap This, generates a netflow trace but it cannot be used by flow-export correctly, since it is not in the right format. The Python Console appears. softflowdでPCAPからNetFlowに exportする(変換する)と 約49. sFlow's statistical sampling is integrated with the hardware and provides real-time, raw export. In this article we shall use the pcapy python module. pcap_create and pcap_activate were not available in versions of libpcap prior to 1. cap2netflow. Please duplicate above mapping for each of the NetFlow collectors after changing "fnf1x" to the appropriate name you choose. Posted March 31st 2010. Cheers, Albert. pcap, perform the following: Open up a Terminal. It's also satisfying because we can take packets full circle---we can play the packets from a PCap file and make a new PCap file with the same packets after they've passed through an E1 line. So your packet could look just like a bunch of hex digits like this: # l3. If you have created your own Wireshark dissector, you might want to further analyze your network captures. You can upload and index pcap file data using modular inputs in Splunk Web. About Us Loads from pcap files Projects we've already started converting to extcap, or which we plan to use extcap in. Netflow on Juniper Router On Juniper Router's if you want to sample all traffic, you don't really need a firewall filter, you can use the following simple form: ge-0/0/0 {. Binary numbers can make up octal number. py) are part of open source Phoenix packages. What is the expected TLS traffic from Jenkins? 2. You can analyse the incoming and outgoing packets using iftop…. pcapng file. Capturing pcap data was a hard problem even when networks were smaller and slower than they are today. pcap to get pcd files. pcap file into a text file and store it with all information extracted from the. print_packets. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. Python Launcher is an open-source program that allows Python scripts (. ICMP packets print as source ip, type --> dest ip, code''' def parse_netflow(pkt): # grabs 'netflow-esqe' fields from packets in a PCAP file. python-py2neo (optional) – experimental flow analysis (Neo4j backend) python-pycryptodome (python-pycrypto) (optional) – extract data from public keys ("ivre getmoduli") python-scapy (python-scapy-git) (optional) – parse PCAP files for ARP inspection (flow analysis). (Use Tcpdump or some other utility. Converting tcpdump output to text2pcap acceptable input because of some issue I couldn't use -w traffic. Templates greatly enhance the flexibility of the NetFlow record format, because they allow a NetFlow collector or display application to process NetFlow data without necessarily knowing the format of the data in advance. This one is a modification of a previous recipe which provided a pure Python text to PDF converter. Kismet stores packets as binary data in the kismetdb log file. # Create empty bytes. python cap2netflow. from datetime import datetime '''Parse PCAP files into easy to read NETFLOW like output \n. Meet the newest free tool in the SolarWinds portfolio: NetFlow Configurator! NetFlow traffic analysis has become an increasingly important factor when it comes to managing your network and keeping an eye on bandwidth utilization. I had an issue with PyShark. They are from open source Python projects. The best way to get started using argus, is to get the argus and client software from here, compile it on one of your Mac OS X, Linux, Unix or Cygwin enabled Windows systems, and play around with analyzing a few packet streams, to see how it basically works. What technique is a security attack that depletes the pool of IP addresses available for legitimate hosts? reconnaissance attack DHCP spoofing DHCP snooping DHCP starvation 4. Python: portfolio: A Python-only example that solves a financial portfolio optimization model, where the historical return data is stored using the pandas package and the result is plotted using the matplotlib package. au format, all you need to do is prepend the 24 byte au header, and convert each PCM sample to network byte order (or Big-Endian). pcap file and then i need to process it. This is an astounding tool to leverage when attempting to. Also, we could automate the analysis of PCAP (Packet Capture) files that contain results of sniffing network traffic with network traffic analysis tools, such as Wireshark, TCPdump and Ettercap. This process is documented in the silkpython(3) manual page. Cisco netflow exports are statistics for bunches of similar packets. Tcprewrite is a tool to rewrite packets stored in pcap(3) file format, such as crated by tools such as tcpdump(1) and ethereal(1). It can store both raw data or analyzed contents to a database using JDBC. In this page, you'll find the latest stable version of tcpdump and libpcap, as well as current development snapshots, a complete documentation, and information about how to report bugs or contribute patches. This is an astounding tool to leverage when attempting to. Wireshark: Converting Solaris snoop captured data to libpcap format Wireshark (formerly known as Ethereal ) is a wonderful tool. Ask Question Asked 2 years, 2 months ago. I am able to export data to json, but can we convert sflow to pcap?. pcap so I came up with using > instead. You can find the "fgsniffer" here on Github. Network Interface. The output from editcap can be written to standard output, and read by SplitCap from standard input like this:. Converting tcpdump output to text2pcap acceptable input. Extracting the payload from a pcap file using Python. There is a project called jspcapy works on pcapkit, which is a command line tool for PCAP extraction but now DEPRECATED. Python Snort IDS Library ; pysnort. Here are the results of a couple of hours of figuring out RRDtool's subleties: a small pair of scripts to chart NetFlow data (example results). chaya kumari has 3 jobs listed on their profile. Have you ever needed to write a wireshark dissector but weren't sure how to check if your dissector was working? This simple Python tool will generate a pcap file with whatever protocol you are trying to dissect embedded inside of it. py does what it was intended to do, we need to convert the python file into exe as there will be no python interpreter by default in windows. Convert a hexadecimaly encoded text into an decoded string or download as a file using this free online hex to text decoder utility. rocap is an IP bandwidth monitoring system based on pcap. In this case, the mynetflow. pcap, captured during malware analysis in a virtual ennvironment, to zeus. rwp2yaf2silk assumes that the yaf and rwipfix2silk commands are available on your system as it is a simple Perl wrapper around those commands. RX flow rate depends on the amount of traffic the flow collector drops. Learn Python Django From Basics to Master Level. After installation, add the Python installation directory and its Scripts subdirectory to your PATH. Tcpreplay is a suite of free Open Source utilities for editing and replaying previously captured network traffic. Because each byte must fit into 8 bits, each member of a bytes object is an unsigned int that satisfies _ >= >=. Build Your Own 10GigE Wire-Rate NetFlow Traffic Generator Using Tcpreplay 4. We are working on the. header information) into txt using tshark?. – To monitor Cloud Servers. The Python Exam. An intuitive and simple web interface is provided for PCAP browsing, searching, and exporting.