# ç½ç»ç¸å ³ ## æ¥çä»ä¹è¿ç¨ä½¿ç¨äºè¯¥ç«¯å£ ``` lsof -i:port ``` ## è·åæ¬æºipå°å ``` /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" ``` ## iptables ``` #æ¥çiptablesç¶æ service iptables status #è¦å°åä¸ä¸ªip iptables -I INPUT -s ***.***.***.*** -j DROP #è¦è§£å°ä¸ä¸ªIPï¼ä½¿ç¨ä¸é¢è¿æ¡å½ä»¤ï¼ iptables -D INPUT -s ***.***.***.*** -j DROP 夿³¨: åæ°-Iæ¯è¡¨ç¤ºInsertï¼æ·»å ï¼ï¼-D表示Deleteï¼å é¤ï¼ãåé¢è·çæ¯è§åï¼INPUTè¡¨ç¤ºå ¥ç«ï¼***.***.***.***表示è¦å°åçIPï¼DROP表示æ¾å¼è¿æ¥ã #å¼å¯9090端å£çè®¿é® /sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT #é²ç«å¢å¼å¯ãå ³éãéå¯ /etc/init.d/iptables status /etc/init.d/iptables start /etc/init.d/iptables stop /etc/init.d/iptables restart ``` ## ncå½ä»¤, tcpè°è¯å©å¨ ``` #ç»æä¸ä¸ªendpointåéTCP请æ±,å°±å°dataçå 容åéå°å¯¹ç«¯ nc 192.168.0.11 8000 < data.txt #ncå¯ä»¥å½åæå¡å¨ï¼çå¬æä¸ªç«¯å£å·,ææä¸æ¬¡è¯·æ±çå 容åå¨å°received_dataé nc -l 8000 > received_data #ä¸è¾¹åªçå¬ä¸æ¬¡ï¼å¦æå¤æ¬¡å¯ä»¥å ä¸-kåæ° nc -lk 8000 ``` ## tcpdump ``` #dumpåºæ¬æº12301端å£çtcpå tcpdump -i em1 tcp port 12301 -s 1500 -w abc.pcap ``` ## è·è¸ªç½ç»è·¯ç±è·¯å¾ ``` #tracerouteé»è®¤ä½¿ç¨udpæ¹å¼, 妿æ¯-Iåæ¹æicmpæ¹å¼ traceroute -I www.163.com #ä»ttl第3è·³è·è¸ª traceroute -M 3 www.163.com #å ä¸ç«¯å£è·è¸ª traceroute -p 8080 192.168.10.11 ``` ## ss ``` #æ¾ç¤ºæ¬å°æå¼çææç«¯å£ ss -l #æ¾ç¤ºæ¯ä¸ªè¿ç¨å ·ä½æå¼çsocket ss -pl #æ¾ç¤ºæætcp socket ss -t -a #æ¾ç¤ºææçUDP Socekt ss -u -a #æ¾ç¤ºææå·²å»ºç«çSMTPè¿æ¥ ss -o state established '( dport = :smtp or sport = :smtp )' #æ¾ç¤ºææå·²å»ºç«çHTTPè¿æ¥ ss -o state established '( dport = :http or sport = :http )' æ¾åºææè¿æ¥Xæå¡å¨çè¿ç¨ ss -x src /tmp/.X11-unix/* ååºå½åsocketç»è®¡ä¿¡æ¯ ss -s è§£éï¼netstatæ¯éå/procä¸é¢æ¯ä¸ªPIDç®å½ï¼ssç´æ¥è¯»/proc/netä¸é¢çç»è®¡ä¿¡æ¯ãæä»¥ssæ§è¡çæ¶åæ¶èèµæºä»¥åæ¶èçæ¶é´é½æ¯netstatå°å¾å¤ ``` ## netstat ``` #è¾åºæ¯ä¸ªipçè¿æ¥æ°ï¼ä»¥åæ»çåä¸ªç¶æçè¿æ¥æ° netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}' #ç»è®¡ææè¿æ¥ç¶æ, #CLOSEDï¼æ è¿æ¥æ¯æ´»å¨çææ£å¨è¿è¡ #LISTENï¼æå¡å¨å¨çå¾ è¿å ¥å¼å« #SYN_RECVï¼ä¸ä¸ªè¿æ¥è¯·æ±å·²ç»å°è¾¾ï¼çå¾ ç¡®è®¤ #SYN_SENTï¼åºç¨å·²ç»å¼å§ï¼æå¼ä¸ä¸ªè¿æ¥ #ESTABLISHEDï¼æ£å¸¸æ°æ®ä¼ è¾ç¶æ #FIN_WAIT1ï¼åºç¨è¯´å®å·²ç»å®æ #FIN_WAIT2ï¼å¦ä¸è¾¹å·²åæéæ¾ #ITMED_WAITï¼çå¾ ææåç»æ»æ #CLOSINGï¼ä¸¤è¾¹åæ¶å°è¯å ³é #TIME_WAITï¼ä¸»å¨å ³éè¿æ¥ä¸ç«¯è¿æ²¡æçå°å¦ä¸ç«¯å馿é´çç¶æ #LAST_ACKï¼çå¾ ææåç»æ»æ netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}' #æ¥æ¾è¾å¤time_waitè¿æ¥ netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20 ```