Question: [Output](https://i.stack.imgur.com/D8hz7.png) [Code](https://i.stack.imgur.com/LVf5q.png) I am trying to create a basic navbar but for some reason once I add more elements it is aligning them vertically instead of horizontal. I was trying this with bootstrap 3 and could not figure out if it is an issue with the bootstap css file or something I did with my html. Any feedback or suggestions would be much appreciated!

```html
<head> 
   <title>Bootstrap Nav Bar Example</title> 
   <link rel="stylesheet" type="text/css" href="bootstrap.css"> 
</head> 
<body> 
   <nav class="navbar navbar-default"> 
      <div class="nav navbar-nav"> 
         <li><a href="#" class="navbar-brand">Koffee</a></li> 
         <li><a href="#">About</a></li> 
         <li><a href="#">Contact</a></li> 
      </div> 
   </nav> 

</body>
```

Answer: 
Creating (normal) ICMP packets does not require special permissions anymore. You can use

```
socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP) = 3
socket(AF_INET6, SOCK_DGRAM, IPPROTO_ICMPV6) = 4

```

sockets (from your logs in 4).

The `SOCK_RAW` marked by you in

```
socket(AF_NETLINK, **SOCK_RAW**|SOCK_CLOEXEC, NETLINK_ROUTE) = 5

```

is a NETLINK socket and used to check whether IPv6 can be used (call "ping" with "-4" or "-6" to see the difference). These kind of sockets does not require special permissions either.
I think the accepted answer might not be correct, there is `net.ipv4.ping_group_range` which allows to construct the ICMP packets. Which was added around 3 years ago.

```
ping_group_range - 2 INTEGERS
    Restrict ICMP_PROTO datagram sockets to users in the group range.
    The default is "1 0", meaning, that nobody (not even root) may
    create ping sockets.  Setting it to "100 100" would grant permissions
    to the single group. "0 4294967295" would enable it for the world, "100
    4294967295" would enable it for the users, but not daemons.

```

source : [Linux Kernel](https://github.com/torvalds/linux/blame/0326074ff4652329f2a1a9c8685104576bd8d131/Documentation/networking/ip-sysctl.rst)

I found another nice answer [How does ping work on Fedora without setuid and capabilities?](https://unix.stackexchange.com/questions/592911/how-does-ping-work-on-fedora-without-setuid-and-capabilities) explaining in more details.

I addition to this, I did checked on my machine, which doesnt has the above param set, but the ping binary has the `CAP_NET_RAW` capability.

```
Linux ip-10.0.0.1 5.15.0-1022-aws #26-Ubuntu SMP Thu Oct 13 12:59:25 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

```

```
 getcap /usr/bin/ping
/usr/bin/ping cap_net_raw=ep

```

So we need some sort of mechanism for sure AFAIK , to open raw sockets.

If someone has more information, please chime in.