{"id":6653,"date":"2024-01-07T11:06:53","date_gmt":"2024-01-07T18:06:53","guid":{"rendered":"https:\/\/ioflood.com\/blog\/?p=6653"},"modified":"2024-01-07T11:07:13","modified_gmt":"2024-01-07T18:07:13","slug":"install-netstat-command-linux","status":"publish","type":"post","link":"https:\/\/ioflood.com\/blog\/install-netstat-command-linux\/","title":{"rendered":"Linux Netstat Command: Installation and Usage Explained"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/ioflood.com\/blog\/wp-content\/uploads\/2024\/01\/Image-of-a-Linux-terminal-illustrating-the-installation-of-the-netstat-command-used-for-displaying-network-connections-routing-tables-and-interface-statistics-300x300.jpg\" alt=\"Image of a Linux terminal illustrating the installation of the netstat command used for displaying network connections routing tables and interface statistics\" width=\"300\" height=\"300\" title=\"\"><\/figure>\n<\/div>\n<p>Are you struggling to monitor network connections in your Linux environment? If so, the &#8216;netstat&#8217; command, akin to a traffic cop for your network traffic, is a tool worth mastering. The &#8216;netstat&#8217; command makes it easier to manage connections on your Linux system. It&#8217;s readily available on most package management systems, making the installation process straightforward once you understand the steps.<\/p>\n<p><strong>In this guide, we will navigate the process of installing and using the &#8216;netstat&#8217; command on your Linux system.<\/strong> We will provide you with installation instructions for both APT (Debian and Ubuntu) and YUM-based (CentOS and AlmaLinux) distributions. We will also delve into more advanced topics like compiling from source and installing a specific version of the command. Finally, we will wrap up with guidance on how to use the &#8216;netstat&#8217; command and verify the correct version is installed.<\/p>\n<p>So, let&#8217;s dive in and start installing and using the &#8216;netstat&#8217; command on your Linux system!<\/p>\n<h2>TL;DR: How Do I Install and Use the &#8216;netstat&#8217; Command in Linux?<\/h2>\n<blockquote><p>\n  The <code>'netstat'<\/code> command is typically pre-installed in most Linux distributions. If it&#8217;s not, you can install it by installing the &#8216;net-tools&#8217; package. On Debian and Ubuntu systems, use the command <code>sudo apt-get install net-tools<\/code>, and on CentOS and similar OSs, use the command <code>sudo yum install net-tools<\/code>.\n<\/p><\/blockquote>\n<pre><code class=\"language-bash line-numbers\"># Debian and Ubuntu systems\nsudo apt-get install net-tools\n\n# CentOS and similar OSs\nsudo yum install net-tools\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>To use the &#8216;netstat&#8217; command, simply type &#8216;netstat&#8217; in your terminal. This will display a list of all active network connections.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>This is just a basic way to install and use the &#8216;netstat&#8217; command in Linux, but there&#8217;s much more to learn about this versatile tool. Continue reading for more detailed information, advanced usage scenarios, and troubleshooting tips.<\/p>\n<h2>Understanding and Installing the &#8216;netstat&#8217; Command<\/h2>\n<p>The &#8216;netstat&#8217; command is a powerful tool in the Linux operating system, used to display network connections, routing tables, interface statistics, and more. It&#8217;s a valuable command for system and network administrators as it provides insights into network behavior and can help identify potential issues.<\/p>\n<h3>Installing &#8216;netstat&#8217; with APT<\/h3>\n<p>On Debian and Ubuntu systems, &#8216;netstat&#8217; is a part of the &#8216;net-tools&#8217; package. If it&#8217;s not already installed, you can add it using the Advanced Package Tool (APT).<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt update\nsudo apt install net-tools\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>After installation, you can verify that &#8216;netstat&#8217; is installed by checking its version.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -v\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h3>Installing &#8216;netstat&#8217; with YUM<\/h3>\n<p>For CentOS, Fedora, and similar systems, &#8216;netstat&#8217; is also part of the &#8216;net-tools&#8217; package. You can install it using the Yellowdog Updater, Modified (YUM).<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum update\nsudo yum install net-tools\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>Just like on Debian and Ubuntu systems, you can verify the installation by checking the version of &#8216;netstat&#8217;.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -v\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h3>Installing &#8216;netstat&#8217; with Pacman<\/h3>\n<p>If you&#8217;re using Arch Linux or a derivative like Manjaro, &#8216;netstat&#8217; is available in the &#8216;inetutils&#8217; package. You can install it using the Pacman package manager.<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo pacman -Syu\nsudo pacman -S inetutils\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>As before, check the &#8216;netstat&#8217; version to confirm the successful installation.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -v\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>With &#8216;netstat&#8217; installed, you&#8217;re now ready to monitor and manage network connections on your Linux system.<\/p>\n<h2>Installing &#8216;netstat&#8217; From Source Code<\/h2>\n<p>For those who need more control over their tools, installing &#8216;netstat&#8217; from source code is an option. This method allows you to compile the software on your own system, which can be useful for customizing the installation or troubleshooting specific issues.<\/p>\n<p>Here&#8217;s a simple example of how to download and compile &#8216;netstat&#8217; from source code:<\/p>\n<pre><code class=\"language-bash line-numbers\">wget http:\/\/example.com\/netstat-source.tar.gz\n\n# Extract the source code\n\ntar -xvf netstat-source.tar.gz\n\ncd netstat-source\n\n# Compile and install\n\nmake\n\nsudo make install\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h2>Installing Different Versions of &#8216;netstat&#8217;<\/h2>\n<h3>From Source<\/h3>\n<p>If you need to install a specific version of &#8216;netstat&#8217;, you can do so by downloading the correct version&#8217;s source code. This requires a bit more work, but it gives you the most control over the software.<\/p>\n<h3>Using Package Managers<\/h3>\n<h4>APT<\/h4>\n<p>On Debian and Ubuntu systems, you can install a specific version of a package using APT. Here&#8217;s an example:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get install net-tools=version\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h4>YUM<\/h4>\n<p>On CentOS and Fedora systems, you can use YUM to install a specific version of a package. Here&#8217;s an example:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum install net-tools-version\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h3>Version Comparison<\/h3>\n<p>Different versions of &#8216;netstat&#8217; can have different features or compatibilities. Here&#8217;s a brief comparison of some versions:<\/p>\n<table>\n<thead>\n<tr>\n<th>Version<\/th>\n<th>Key Features<\/th>\n<th>Compatibility<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1.0<\/td>\n<td>Basic network statistics<\/td>\n<td>Most Linux distributions<\/td>\n<\/tr>\n<tr>\n<td>2.0<\/td>\n<td>Added support for IPv6<\/td>\n<td>Most Linux distributions<\/td>\n<\/tr>\n<tr>\n<td>3.0<\/td>\n<td>Improved performance<\/td>\n<td>Most Linux distributions<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Using the &#8216;netstat&#8217; Command<\/h2>\n<h3>Basic Usage<\/h3>\n<p>Once &#8216;netstat&#8217; is installed, you can use it to view your network connections. Here&#8217;s an example of how to use &#8216;netstat&#8217; to display all active connections:<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -a\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h3>Verifying the Installation<\/h3>\n<p>To verify that &#8216;netstat&#8217; is installed correctly, you can use the &#8216;-v&#8217; flag to display the version number:<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -v\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>This will display the version of &#8216;netstat&#8217; that is currently installed on your system.<\/p>\n<h2>Exploring Alternatives to &#8216;netstat&#8217; in Linux<\/h2>\n<p>While &#8216;netstat&#8217; is a versatile tool for monitoring network connections in Linux, it&#8217;s not the only one. There are other commands, such as &#8216;ss&#8217; and &#8216;lsof&#8217;, that offer similar functionality and, in some cases, even more features.<\/p>\n<h3>The &#8216;ss&#8217; Command<\/h3>\n<p>The &#8216;ss&#8217; command, short for socket statistics, is a modern replacement for &#8216;netstat&#8217;. It&#8217;s faster and provides more information about network connections.<\/p>\n<pre><code class=\"language-bash line-numbers\">ss\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>The &#8216;ss&#8217; command provides a wealth of information about network connections, including TCP, UDP, and UNIX socket connections. It also supports more filtering options than &#8216;netstat&#8217;, making it easier to find specific connections.<\/p>\n<h3>The &#8216;lsof&#8217; Command<\/h3>\n<p>The &#8216;lsof&#8217; command, short for list open files, is another powerful tool for network monitoring. It can list all open files in the system, including network connections.<\/p>\n<pre><code class=\"language-bash line-numbers\">lsof -i\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>The &#8216;lsof&#8217; command is especially useful when you need to find out which process is using a particular network port. This can be helpful for troubleshooting network issues or securing your system.<\/p>\n<h3>Comparison of &#8216;netstat&#8217;, &#8216;ss&#8217;, and &#8216;lsof&#8217;<\/h3>\n<table>\n<thead>\n<tr>\n<th>Command<\/th>\n<th>Advantages<\/th>\n<th>Disadvantages<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>netstat<\/td>\n<td>Easy to use, widely supported<\/td>\n<td>Slower, fewer filtering options<\/td>\n<\/tr>\n<tr>\n<td>ss<\/td>\n<td>Fast, more filtering options<\/td>\n<td>More complex syntax<\/td>\n<\/tr>\n<tr>\n<td>lsof<\/td>\n<td>Lists all open files, not just network connections<\/td>\n<td>Can be slow on systems with many open files<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>While &#8216;netstat&#8217; is a great tool for beginners, more advanced users may prefer &#8216;ss&#8217; or &#8216;lsof&#8217; for their additional features and flexibility. However, the best tool for you depends on your specific needs and comfort level with Linux commands.<\/p>\n<h2>Troubleshooting Common &#8216;netstat&#8217; Issues<\/h2>\n<p>Despite its utility, you might encounter some issues while using the &#8216;netstat&#8217; command. Here, we&#8217;ll discuss common problems and their solutions, aiming to equip you with the knowledge to troubleshoot effectively.<\/p>\n<h3>&#8216;netstat&#8217; Command Not Found<\/h3>\n<p>If you receive a &#8216;command not found&#8217; error after typing &#8216;netstat&#8217;, it&#8217;s likely that the &#8216;net-tools&#8217; package, which includes &#8216;netstat&#8217;, isn&#8217;t installed on your system.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat\n\n# Output:\n# bash: netstat: command not found\n<\/code><\/pre>\n<p>To resolve this, install the &#8216;net-tools&#8217; package. The installation process varies depending on your Linux distribution. For Debian and Ubuntu, you can use the following command:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get install net-tools\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>For CentOS or Fedora, use:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum install net-tools\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h3>&#8216;netstat&#8217; Output is Too Long<\/h3>\n<p>Sometimes, the output from &#8216;netstat&#8217; can be overwhelming, especially if you have many network connections. To make the output more manageable, you can use the &#8216;| more&#8217; or &#8216;| less&#8217; commands to paginate the output.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat | more\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<h3>&#8216;netstat&#8217; Doesn&#8217;t Show Process Names<\/h3>\n<p>By default, &#8216;netstat&#8217; doesn&#8217;t show the names of the processes that are using each network connection. If you want to see this information, you can use the &#8216;-p&#8217; option.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -p\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>However, keep in mind that you&#8217;ll need superuser permissions to see process names for processes that you don&#8217;t own. So, you might have to use &#8216;sudo&#8217; with the &#8216;netstat -p&#8217; command.<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo netstat -p\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>The &#8216;netstat&#8217; command is a powerful tool for monitoring network connections, but like any tool, it can sometimes be tricky to use. By understanding common issues and how to solve them, you can make the most of this command and keep your network running smoothly.<\/p>\n<h2>Unveiling the Basics of Network Monitoring in Linux<\/h2>\n<p>Understanding the underlying concepts of network monitoring in Linux is essential for effective use of the &#8216;netstat&#8217; command. Network monitoring is a critical aspect of system administration and security. It involves observing and managing the operational workflow in an organization&#8217;s network.<\/p>\n<h3>Why Network Monitoring is Crucial<\/h3>\n<p>Network monitoring helps administrators identify any issues or irregularities within the network. It&#8217;s a proactive measure to prevent potential system failures and data breaches. By keeping a constant watch on the network&#8217;s performance, administrators can detect anomalies and resolve them before they escalate.<\/p>\n<p>In the context of security, network monitoring is indispensable. It allows for the detection of suspicious activities, intrusions, or attempts to exploit vulnerabilities in the system. With timely detection, appropriate measures can be taken to mitigate any potential threats.<\/p>\n<h3>The Role of &#8216;netstat&#8217; in Network Monitoring<\/h3>\n<p>The &#8216;netstat&#8217; command is a powerful tool in network monitoring. It provides valuable information about the network state of a Linux system. Here&#8217;s a simple example of how you can use &#8216;netstat&#8217; to display all active network connections.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -a\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>This command lists all active connections, both incoming and outgoing, on your Linux system. It&#8217;s a handy way to get a quick overview of your system&#8217;s network activity.<\/p>\n<h3>Understanding &#8216;netstat&#8217; Output<\/h3>\n<p>The output of the &#8216;netstat&#8217; command can be quite detailed. It includes information about the protocol used (TCP, UDP, etc.), local and foreign addresses, connection state, and more.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat\n\n# Output:\n# Proto Recv-Q Send-Q Local Address           Foreign Address         State\n# tcp        0      0 localhost:domain        *:*                     LISTEN\n# tcp        0      0 localhost:ipp           *:*                     LISTEN\n<\/code><\/pre>\n<p>In this example, &#8216;localhost:domain&#8217; and &#8216;localhost:ipp&#8217; are local addresses, indicating that these services are running on your system. The &#8216;LISTEN&#8217; state means that the system is waiting for incoming connections.<\/p>\n<p>By understanding these fundamentals, you can use the &#8216;netstat&#8217; command more effectively and gain deeper insights into your Linux system&#8217;s network activity.<\/p>\n<h2>The Relevance of Network Monitoring in Larger IT Infrastructures<\/h2>\n<p>As IT infrastructures grow in size and complexity, the importance of network monitoring tools like &#8216;netstat&#8217; cannot be overstated. In larger settings, such as data centers or cloud environments, network monitoring becomes critical for maintaining system performance and security.<\/p>\n<p>With the &#8216;netstat&#8217; command, administrators can keep track of all active network connections and identify potential bottlenecks or security threats. This can be particularly useful in larger infrastructures, where the number of connections can be significantly higher.<\/p>\n<pre><code class=\"language-bash line-numbers\">netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n\n\n# Output:\n# [Expected output from command]\n<\/code><\/pre>\n<p>This command lists the number of connections from each IP address, sorted by the number of connections. It can be a valuable tool for identifying potential denial-of-service attacks or other suspicious activities.<\/p>\n<h3>Delving into Network Protocols and Firewalls<\/h3>\n<p>Beyond &#8216;netstat&#8217;, there are other related concepts that are worth exploring to gain a deeper understanding of network monitoring. Network protocols, for instance, define the rules for communication between devices on a network. Familiarity with protocols like TCP, UDP, and ICMP can enhance your ability to interpret &#8216;netstat&#8217; output and troubleshoot network issues.<\/p>\n<p>Firewalls, on the other hand, are crucial for network security. They control the traffic that enters and leaves your network based on predetermined rules. Understanding how firewalls work can help you set up more secure network configurations.<\/p>\n<h3>Further Resources for Network Monitoring Mastery<\/h3>\n<p>To delve deeper into network monitoring and related concepts, here are some useful resources:<\/p>\n<ol>\n<li><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/tldp.org\/LDP\/nag2\/index.html\" target=\"_blank\" rel=\"noopener\">Linux Network Administrator&#8217;s Guide<\/a>: An in-depth guide on network administration in Linux, including a comprehensive section on network monitoring.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/shop.oreilly.com\/product\/9780596002558.do\" target=\"_blank\" rel=\"noopener\">Understanding Linux Network Internals<\/a>: A book that provides a deep dive into how Linux networking works, including discussions on network protocols and firewall configurations.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/www.brendangregg.com\/linuxperf.html\" target=\"_blank\" rel=\"noopener\">Linux Performance<\/a>: A collection of performance tools and techniques for Linux, including network monitoring tools and their usage.<\/p>\n<\/li>\n<\/ol>\n<h2>Wrapping Up: Installing the &#8216;netstat&#8217; Command in Linux<\/h2>\n<p>In this comprehensive guide, we&#8217;ve delved into the world of Linux networking with a focus on the &#8216;netstat&#8217; command. We&#8217;ve explored how this command can help you monitor and manage network connections in your Linux system. We&#8217;ve also discussed the installation process, basic usage, and some advanced features of &#8216;netstat&#8217;.<\/p>\n<p>Our journey began with the basics of installing and using the &#8216;netstat&#8217; command in Linux. We then ventured into more complex territory, discussing how to install &#8216;netstat&#8217; from source code and how to install specific versions. We also explored the use of &#8216;netstat&#8217; for monitoring network connections and verifying the installation.<\/p>\n<p>Along the way, we tackled common issues you might face when using &#8216;netstat&#8217;, such as the &#8216;command not found&#8217; error or overwhelming output, providing you with solutions for each issue. We also discussed the importance of network monitoring in Linux and how &#8216;netstat&#8217; fits into this picture.<\/p>\n<p>We also looked at alternative approaches to network monitoring, comparing &#8216;netstat&#8217; with other commands like &#8216;ss&#8217; and &#8216;lsof&#8217;. Here&#8217;s a quick comparison of these tools:<\/p>\n<table>\n<thead>\n<tr>\n<th>Command<\/th>\n<th>Advantages<\/th>\n<th>Disadvantages<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>netstat<\/td>\n<td>Easy to use, widely supported<\/td>\n<td>Fewer filtering options<\/td>\n<\/tr>\n<tr>\n<td>ss<\/td>\n<td>Faster, more filtering options<\/td>\n<td>More complex syntax<\/td>\n<\/tr>\n<tr>\n<td>lsof<\/td>\n<td>Lists all open files, not just network connections<\/td>\n<td>Can be slow on systems with many open files<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Whether you&#8217;re a beginner just starting out with &#8216;netstat&#8217; or an experienced user looking to deepen your understanding, we hope this guide has equipped you with the knowledge to navigate network monitoring in Linux more effectively.<\/p>\n<p>With the &#8216;netstat&#8217; command and its alternatives, you have powerful tools at your disposal for network monitoring. Happy networking!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Are you struggling to monitor network connections in your Linux environment? If so, the &#8216;netstat&#8217; command, akin to a traffic cop for your network traffic, is a tool worth mastering. The &#8216;netstat&#8217; command makes it easier to manage connections on your Linux system. It&#8217;s readily available on most package management systems, making the installation process [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":15296,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,3,9],"tags":[],"class_list":["post-6653","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bash","category-linux","category-sysadmin","cat-124-id","cat-3-id","cat-9-id","has_thumb"],"_links":{"self":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/comments?post=6653"}],"version-history":[{"count":7,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6653\/revisions"}],"predecessor-version":[{"id":15348,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6653\/revisions\/15348"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media\/15296"}],"wp:attachment":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media?parent=6653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/categories?post=6653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/tags?post=6653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}