forked from andonome/lk
		
	add network basics.md
This commit is contained in:
		
							
								
								
									
										137
									
								
								networking/basics.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								networking/basics.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,137 @@ | |||||||
|  | # You | ||||||
|  |  | ||||||
|  | Check how your computer connects to the net: | ||||||
|  |  | ||||||
|  | > ip address show | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UP group default qlen 1000 | ||||||
|  |     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 | ||||||
|  |     inet 127.0.0.1/8 scope host lo | ||||||
|  |        valid_lft forever preferred_lft forever | ||||||
|  |     inet6 ::1/128 scope host  | ||||||
|  |        valid_lft forever preferred_lft forever | ||||||
|  | 3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 | ||||||
|  |     link/ether 84:3a:4b:ca:5c:24 brd ff:ff:ff:ff:ff:ff | ||||||
|  |     inet 192.168.0.13/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp3s0 | ||||||
|  |        valid_lft 199143sec preferred_lft 172143sec | ||||||
|  |     inet6 fe80::22:5eb9:8a3a:95b2/64 scope link  | ||||||
|  |        valid_lft forever preferred_lft forever | ||||||
|  | 4: wwp0s20u4i6: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 | ||||||
|  |     link/ether fa:cd:4d:28:ec:dc brd ff:ff:ff:ff:ff:ff | ||||||
|  |     inet 169.254.104.159/16 brd 169.254.255.255 scope global noprefixroute wwp0s20u4i6 | ||||||
|  |        valid_lft forever preferred_lft forever | ||||||
|  |     inet6 fe80::e9d3:506c:c0a9:6679/64 scope link  | ||||||
|  |        valid_lft forever preferred_lft forever | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | That's too much output to read, so try: | ||||||
|  |  | ||||||
|  | > ip address show | grep inet | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  |     inet 127.0.0.1/8 scope host lo | ||||||
|  |     inet6 ::1/128 scope host  | ||||||
|  |     inet 192.168.0.13/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp3s0 | ||||||
|  |     inet6 fe80::22:5eb9:8a3a:95b2/64 scope link  | ||||||
|  |     inet 169.254.104.159/16 brd 169.254.255.255 scope global noprefixroute wwp0s20u4i6 | ||||||
|  |     inet6 fe80::e9d3:506c:c0a9:6679/64 scope link  | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | The starting numbers tell you about the address. You just have to memorize the meanings: | ||||||
|  |  | ||||||
|  | | Address Prefix | Meaning | | ||||||
|  | |:---:|:---:| | ||||||
|  | | 127.X | The computer's name for itself, for when you want to ssh into your own machine | | ||||||
|  | | ::1/128 | Same thing, with ipv6 | | ||||||
|  | | 192.168.X | A small network address, given by a DHCP server (possibly your router) | | ||||||
|  | | 169.X | The interface to the internet wasn't given an ip address, so it's made up its own | | ||||||
|  |  | ||||||
|  | # `arp-scan` | ||||||
|  |  | ||||||
|  | Look around your local network with `arp-scan`. | ||||||
|  |  | ||||||
|  | > sudo arp-scan -l | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Interface: wlp3s0, type: EN10MB, MAC: 84:3a:4b:ca:5c:24, IPv4: 192.168.0.13 | ||||||
|  | Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) | ||||||
|  | 192.168.0.1	0c:02:27:bc:aa:a1	Technicolor CH USA Inc. | ||||||
|  | 192.168.0.15	b8:27:eb:4a:cd:d9	Raspberry Pi Foundation | ||||||
|  | 192.168.0.10	dc:0b:34:94:5c:c4	LG Electronics (Mobile Communications) | ||||||
|  |  | ||||||
|  | 3 packets received by filter, 0 packets dropped by kernel | ||||||
|  | Ending arp-scan 1.9.7: 256 hosts scanned in 1.937 seconds (132.16 hosts/sec). 3 responded | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | The interface here was `wlp3s0`. It starts with 'w', so it's a wifi card.  Each internet adapter has a name, called a 'MAC address' in order to identify itself to outsiders.  The first three parts of a MAC address are given by the manufacturer (like a family name), and the rest are just for that one device. | ||||||
|  |  | ||||||
|  | The '192.168.0.1' address ends in '.1', so it's probably a router.  The manufacturer is 'Technicolor' (`arp-scan` has identified this from the first digits of the MAC: '0c:02:27'). | ||||||
|  |  | ||||||
|  | Next is 192.168.0.15, which is labelled as a 'raspberry pi'. Finally, the '.10' address is a mobille phone. | ||||||
|  |  | ||||||
|  | Mac addresses are easy to fake, so don't trust this output to keep you safe. | ||||||
|  |  | ||||||
|  | # `nmap` | ||||||
|  |  | ||||||
|  | Look around your entire network from 192.168.0.1 to 192.168.0.255: | ||||||
|  |  | ||||||
|  | > sudo nmap -F 192.168.0.1/24 | ||||||
|  |  | ||||||
|  | The `-F` means 'do this fast, by only scanning normal traffic' (ports below 1000). | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Starting Nmap 7.80 ( https://nmap.org ) at 2020-01-09 13:52 CET | ||||||
|  | Nmap scan report for 192.168.0.1 | ||||||
|  | Host is up (0.011s latency). | ||||||
|  | Not shown: 99 closed ports | ||||||
|  | PORT   STATE SERVICE | ||||||
|  | 80/tcp open  http | ||||||
|  | MAC Address: 0C:02:27:BC:AA:A1 (Technicolor CH USA) | ||||||
|  |  | ||||||
|  | Nmap scan report for 192.168.0.10 | ||||||
|  | Host is up (0.0040s latency). | ||||||
|  | All 100 scanned ports on 192.168.0.10 are closed | ||||||
|  | MAC Address: DC:0B:34:94:7C:C4 (LG Electronics (Mobile Communications)) | ||||||
|  |  | ||||||
|  | Nmap scan report for belgradecats (192.168.0.15) | ||||||
|  | Host is up (0.0096s latency). | ||||||
|  | Not shown: 98 closed ports | ||||||
|  | PORT   STATE SERVICE | ||||||
|  | 22/tcp open  ssh | ||||||
|  | 53/tcp open  domain | ||||||
|  | MAC Address: B8:27:EB:4A:CD:D9 (Raspberry Pi Foundation) | ||||||
|  |  | ||||||
|  | Nmap scan report for 192.168.0.13 | ||||||
|  | Host is up (0.0000080s latency). | ||||||
|  | Not shown: 99 closed ports | ||||||
|  | PORT   STATE SERVICE | ||||||
|  | 22/tcp open  ssh | ||||||
|  |  | ||||||
|  | Nmap done: 256 IP addresses (4 hosts up) scanned in 5.34 seconds | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | Network traffic is split into different types of information.  Each one gets a number called a 'port'.  Most of this information is dead, so only a few ports are used nowadays. | ||||||
|  |  | ||||||
|  | The first one shows port 80, so you can visit it on a web browser.  The next shows 53 (so it's handing out names of local computers) and 22 (so you can access it via ssh). | ||||||
|  |  | ||||||
|  | You can scan outside addresses with: | ||||||
|  |  | ||||||
|  | > sudo nmap facebook.com | ||||||
|  |  | ||||||
|  | However, when you scan something, that machine will see you, and you may set off alerts, which then have to bother whoever's looking after that address. | ||||||
|  | So if you want to try out nmap from outside, find a place you have permission to scan (like your own external IP address), or try: | ||||||
|  |  | ||||||
|  | > sudo nmap hack.me | ||||||
|  |  | ||||||
|  | The hack.me website doesn't mind people scanning. | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user