Showing posts with label network. Show all posts
Showing posts with label network. Show all posts
Apr 16, 2015
Feb 15, 2014
Kernel. Networking
struct sk_buff
struct net_device
devices: eth ppp asdn atm
rx recieve
tz transmit
Explicit Congestion Notification (ECN) — (Явное Уведомление о Перегруженности)
IPv4
IPv6
UDP
TCP
mtu maximum transmission unit
ARP address resolution protocol
NAT network address translation; masquerading
transparent proxy
netfilter; iptables
finite state machine конечный автомат
tcpdump witeshark
struct net_device
devices: eth ppp asdn atm
rx recieve
tz transmit
Explicit Congestion Notification (ECN) — (Явное Уведомление о Перегруженности)
ls -l /sys/class/net
cat /proc/net/sockstat
cat /proc/net/dev
cat /proc/net/tcp # ports
cat /proc/net/udp
cat /proc/net/unix
Nearly all cards support DMA modeIPv4
IPv6
UDP
TCP
mtu maximum transmission unit
ARP address resolution protocol
NAT network address translation; masquerading
transparent proxy
netfilter; iptables
finite state machine конечный автомат
tcpdump witeshark
tshark -V -2 -R 'ip.addr==208.118.235.148'
# http://stackoverflow.com/questions/5907527/application-control-of-tcp-retransmission-on-linux
/proc/sys/net/ipv4/tcp_retries2
man 5 socketckall
man 3 netlink
man 5 netlink
/proc/net/netlink
Aug 15, 2012
DNS in Ubuntu 12.04
http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
Any change manually done to /etc/resolv.conf will be lost
Resolvconf has a /etc/resolvconf/resolv.conf.d/ directory that can contain “base”, “head”, “original” and “tail” files. All in resolv.conf format.
Alternatively, you can also read dnsmasq’s configuration from /run/nm-dns-dnsmasq.conf
Any change manually done to /etc/resolv.conf will be lost
Resolvconf has a /etc/resolvconf/resolv.conf.d/ directory that can contain “base”, “head”, “original” and “tail” files. All in resolv.conf format.
- base: Used when no other data can be found
- head: Used for the header of resolv.conf, can be used to ensure a DNS server is always the first one in the list
- original: Just a backup of your resolv.conf at the time of resolvconf installation
- tail: Any entry in tail is appended at the end of the resulting resolv.conf. In some cases, upgrading from a previous Ubuntu release, will make tail a symlink to original (when we think you manually modified resolv.conf in the past)
Alternatively, you can also read dnsmasq’s configuration from /run/nm-dns-dnsmasq.conf
sudo restart network-manager
Dec 8, 2011
Tools for Linux Performance Monitoring
htop
http://htop.sourceforge.net/
dstat
http://dag.wieers.com/home-made/dstat/
bmon
http://freshmeat.net/projects/bmon/
iftop
http://www.ex-parrot.com/pdw/iftop/
ifstat
http://gael.roualland.free.fr/ifstat/
http://htop.sourceforge.net/
dstat
http://dag.wieers.com/home-made/dstat/
bmon
http://freshmeat.net/projects/bmon/
iftop
http://www.ex-parrot.com/pdw/iftop/
ifstat
http://gael.roualland.free.fr/ifstat/
Labels:
linux,
monitoring,
network,
performance,
profiling
Sep 1, 2011
Unix as IDE. Сетевые утилиты
netstat
Показывает сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д.netstat -at # Список всех открытых портов (TCP)
netstat -au # Список всех открытых портов (UDP)
netstat -nagrep 22 # Список открытых хостов по порту
netstat -lt # Список только прослушиваемых портов (TCP)
netstat -s # Статистика по всем открытым портам
# Подробное отображение списка с открытыми портами - добавлен PID и имя процессов
netstat -p
# Команда для просмотра открытых TCP/UDP портов с именами процессов
# (может понадобиться root-доступ)
netstat -ltupn
# Список подключенных хостов
netstat -lantp | grep ESTABLISHED |awk '{print $5}' | awk -F: '{print $1}' | sort -u
ss
Позволяет просматривать информацию об используемых сокетах в системе. Эта команда обладает схожим функционалом c netstat, но есть и уникальные возможности. Например возможность фильтровать вывод по установленным соединениям с определенным портом.ss -p # Список процессов, использующие соединения в данный момент
ss -l # Список сокетов в режиме прослушивания
# Пример фильтра - список всех соединений к порту 80
ss -o state established '( dport = :www or sport = :www )'
lsof
Отображает процессы, которые работают с определенным файлом или сокетом.lsof -i # Список всех сетевых соединений
lsof -i :80 # Список процессов, работающих с портом 80
netcat
Позволяет передавать/принимать данные через TCP/UDP соединения.# Передача файла
nc -l 1234 > file # На принимающей стороне
nc localhost 1234 < file # На отправляющей стороне
# Или отдавать файл любому подключившемуся
nc -l 1234 < file # На передающей стороне
nc localhost 1234 > file # На принимающей стороне
nmap
Cканирует IP-сети с любым количеством объектов, определяет состояние объектов сканируемой сети (портов и соответствующих им служб).Для работы большинства возможностей nmap требуется права root. Разработчики nmap предлагают хост scanme.nmap.org для тестового сканирования.
# Получение информации об портах удаленного хоста и определение операционной системы
sudo nmap -sS -P0 -sV -O scanme.nmap.org
# scanme.nmap.org – сканируемый хост, может быть: IP, имя хоста или подсеть
# -sS – TCP SYN сканирование (полуоткрытое)
# -P0 – отключение ICMP сканирования
# -sV – определение сервисов, запущенных на открытых портах
# -O – определение версии операционной системы
# Пингование диапазона адресов
sudo nmap -sP -v "192.168.1.*"
sudo nmap -sP -v 192.168.1.0/24
sudo nmap -sP -v 192.168.1.1-20
# -sP - ping-сканирование
sudo nmap -sT -p 22 scanme.nmap.org # Проверка одного порта
sudo nmap -sT -p 20-110 scanme.nmap.org # Проверка диапазона портов
# -sT - TCP-сканирование
sudo nmap -sS scanme.nmap.org -D 8.8.8.8 # Cкрыть свой IP адрес
nmap localhost # Определения открытых портов на локальной машине нужно выполнить
fuser
Принудительное закрытие определенного портаfuser -k 80/tcp
DNS lookup
http://greendail.ru/node/474dig www.podkova.by +trace
nslookup podkova.by
# or using google ns server
nslookup podkova.by 8.8.8.8
tshark
You can use the specific HTTP header display filters to show either just the request headers, just the response headers or both.tshark tcp port 80 -V -R "http.request || http.response"
curl
curl \
-s -u <USER>:<API_TOKEN> \
-d '{ "id": "ce9d27f8", "method": "getContact", "params": [77777] }' \
https://app01.nutshell.com/api/v1/json | python -m json.tool
# with Headers
curl -H 'Authorization: OAuth <SECURE_TOKEN>' https://blabla.com/api/?var=foo
# GET request (-G) with data (-d)
curl -G \
-d 'access_token=77777777777777777777' \
-d 'page=1' \
-d 'per_page=1' \
https://api.nimble.com/api/v1/contacts/list
How to test request to django-tastypie API using ApiKey:
curl \
-H 'Authorization: ApiKey someusername:83a82c7941f6dba06510541c71505c71a0625741' \
-H 'Content-Type:application/json' \
-X PATCH -d '{"first_name" : "bob","last_name" : "marley"}' \
http://127.0.0.1:8000/api/profile/
Subscribe to:
Posts (Atom)


